Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re^3: Questions wanted for Pugs/Perl6

by stvn (Monsignor)
on Feb 22, 2005 at 14:49 UTC ( #433348=note: print w/replies, xml ) Need Help??

in reply to Re^2: Questions wanted for Pugs/Perl6
in thread Questions wanted for Pugs/Perl6

It also strikes me that given the impressive pace of his amazing work on Pugs, that maybe using a language with built in memory management; sensible & powerful built-in datatypes; coherent, cross-platform libraries; allows him to concentrate on the details of the task at hand rather than futzing with malloc()/free() et al

Functional languages are also known to be well adept for parsing, and since parsing perl is considered to be difficult at best and impossible at worst (except for perl of course) and I expect perl6 is better (but still difficult), that using Haskell was much easier than doing C/Parrot.

C maybe the only game in town for the level of cross-platform support required by Parrot (though I think that there is another contender for that also),

What is the "other contender" other than C? (Not that I don't believe you, just curious)

Even though generated sources can be a pain for humans to deal with, it might provide a starting point for a non-GHC dependant "native" build of the Perl6 compiler?

Personally I was wondering (after skiming some of the Haskell code) that maybe it could be bootstrapped as the parser and emit Parrot code, rather than try to fiddle with any generated C. Personally, I think a Haskell based perl6 compiler which emits Parrot code would be really really really cool.


Replies are listed 'Best First'.
Re^4: Questions wanted for Pugs/Perl6
by BrowserUk (Patriarch) on Feb 22, 2005 at 18:26 UTC
    What is the "other contender" other than C?

    Given it's immaturity and the learning curve it has, it wasn't a contender when Parrot was started, but I think that with the advent of a GCC backend running on Linux, Digital Mars D, shows considerable promise for future cross-platform projects.

    It has everything you need from C, low-level access to the hardware including inline assembler support, fast optimising compiler etc. It also has built-in memory management & garbage collection, objects, strings, hashes, types, contracts, templates, mixins, etc. etc. and can link directly to C code without requiring "wrappers". Or, all the good bits from C++ without the anachronisms or complexity.

    I was wondering ... that maybe it could be bootstrapped as the parser and emit Parrot code

    From what I've seen and understood, it almost certainly could produce Parrot code directly. The only downside of that is the 40 MB download of GHC.

    Then again, if it gets competent enough that it could be used to write the P6 compiler in P6, you could end up with it generating a P6 compiler that could compile itself?. Such things have been done before.

    Examine what is said, not who speaks.
    Silence betokens consent.
    Love the truth but pardon error.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://433348]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2022-12-08 02:13 GMT
Find Nodes?
    Voting Booth?

    No recent polls found