Re^2: Questions wanted for Pugs/Perl6
by duff (Parson) on Feb 22, 2005 at 04:31 UTC
|
In answer to your question #2, I have to say that pugs has already contributed lots to Perl6. By implementing much of the things spec'd out in the various Apocalypses, Exegeses, and Synopses autrijus is "running ahead" of the Perl6 implementation effort and weeding out many edge cases and design faux pas. In this regard alone, pugs will make the Perl6 compiler implementation much, much easier. Also, it may be that if enough of Perl6 is implemented by pugs that it could be the bootstrap by which we get a full Perl6 compiler.
| [reply] |
|
|
I totally agree with your assessment. However, my question was more specifically was autrijus actually planning on sitting down with the current or future parrot/perl6 developers as well as Larry and Damian and really transfering all that accumulated knowledge.
To be honest, from all the CPAN work I have seen of autrijus, and the commitment he seems to have to perl overall, if I had to guess, I would assume he absolutely would do this. So the question really isn't for me, but instead for those who are not already very familiar with Autrijus's work.
| [reply] |
|
|
| [reply] |
|
|
Re^2: Questions wanted for Pugs/Perl6
by BrowserUk (Patriarch) on Feb 22, 2005 at 07:20 UTC
|
Without trying to speak for autrijus, could it be that his expertise lies in Haskell and and not C/make etc.
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.
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), but for the Perl6 compiler--and certainly the first cut of it--is there any reason not to use Haskell?
Especially given that:
GHC compiles Haskell code either by using an intermediate C compiler (GCC), or by generating native code on some platforms.
Which in my ignorance I take to mean that GHC, and therefore Haskell, and therefore Pugs should run anywhere GCC runs.
If true, that would be a huge stepping stone. Especially if it is possible to intercept the generated C sources and compile and distribute them separately? I guess that there would dependancies upon some GHC libraries involved that might complicate that though?
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?
Examine what is said, not who speaks.
Silence betokens consent.
Love the truth but pardon error.
| [reply] |
|
|
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.
| [reply] |
|
|
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.
| [reply] [d/l] |
Re^2: Questions wanted for Pugs/Perl6
by thor (Priest) on Feb 21, 2005 at 22:51 UTC
|
So...just to be clear, you mean no offense? ;)
thor
Feel the white light, the light within
Be your own disciple, fan the sparks of will
For all of us waiting, your kingdom will come
| [reply] |
Re^2: Questions wanted for Pugs/Perl6
by Smylers (Pilgrim) on Feb 22, 2005 at 09:35 UTC
|
Do you think that any of the experience you have gained in coding this can be transfered over to the main perl 6 project? And do you plan on doing so? (They are looking for someone after all).
That is not true: the Perl Foundation already have people in mind; what they are soliciting is money.
Their proposal does mention "a second Parrot developer", but as Allison's comment on the page you linked to makes clear, that refers to a specific person who currently wishes to remain anonymous (because he doesn't yet want his current employer to learn of his plans to leave and work on Parrot) rather than a vacancy for a developer yet to be chosen.
Smylers
| [reply] |
|
|
| [reply] |