I hope the team is not aiming for a perfect language, because that'll take too long to attain or is simply unattainable.
I know there's Pugs, but until an official implementation is launched, Perl 6 is still vapourware.
Would it be too much to be hope for a first release by the end of 2006?
Please go through the belo link which will summarise some important details about perl 6
http://dev.perl.org/perl6/list-summaries/2006/p6summary.2006-01-11.html
I may be misreading your comments, but your tone implies a degree of dissatisfaction with the Perl 6 development process. I'm wondering why exactly?
Jon showed up to the meeting late and found us talking about the community and started throwing things to express his discontent with how perl itself was stagnating, possibly even dying, and that we should be talking about reviving Perl.I believe in momentum. If it takes too long, it will wear down the very people working on it and diminish the interest and expectations of those eagerly awaiting its release.
And you feel that whining about it on perlmonks will somehow increase momentum? More than contributing to one of the many projects/resources that lead up to Perl 6 would?
I was concerned that if it dragged on, it might never materialise.
I am looking at it positively ("it" here being Perl 6 development in all it's myriad forms). What I do not look at positively is someone who whines "I hope it won't take a decade", because that contributes exactly zero to the process. IMO.
And if you really wanted to contribute you would, anyone can (and be it alone by donating some money to TPF for funding the main developers).
Seriously, if it comes out a decade later, many things would have changed.
...which would only be a problem if the design was fixed in stone at the start of that "10-year period" and was never altered.
you would consider the mug-smashing incident as whinning
Absolutely not. There it was someone who was a well-respected member of the Perl community and who took it upon himself to shake people out of the complacency into which he felt they had fallen. He went to a room full of Perl luminaries and had the self-confidence to challenge the view of everyone in the room with very strong words (from what I've heard, I wasn't there). He succeeded in shaking things up and we all owe him.
This case bears no resemblance at all to someone anonymously posting an apparently badly informed and poorly worded whine on an Internet forum. To affect change you first have to invest something of yourself. You don't seem prepared to invest anything except a few self-aggrandizing views. Argh, why am I even still responding...
If I could contribute, I would have done it in 2001.From the Pugs Overview:
I know Perl 5, but not Haskell. Can I develop Pugs?
Sure! The standard libraries and unit tests that come with Pugs are coded in
Perl 6, and there is always a need for more tests and libraries. All you need
is basic familiarity of Perl 5, and a few minutes to get acquainted with some
small syntax changes. You will likely pick up some Haskell knowledge along the
way, too.
Problem solved :-)
None of these require any fancy knowledge or even a lot of time. Even one failing test contributed to any project or one additional platform to smoketest on (you don't have to diagnose, just report) is a meaningful contribution.
I believe in momentum. If it takes too long, it will wear down the very people working on it and diminish the interest and expectations of those eagerly awaiting its reease.I believe in FMS. "And the earth brought forth grass, and herb yielding seed (...) and camels and parrots and finally a creature called Perl 6!"
Now, it happens that in recent times FMS gave me a sign: evidence is that people is not being worn down and that on the contrary we're living a period of renewed interest and intense development that doesn't give the slightest sign of slowing down. That's since Pugs appeared...
Bad analogy.
Let's just hope it beats chusquea abietifolia into bloom :)
Do not mistake a necessary condition for a sufficient one. He wrote:
The most beautiful flowers usually take the longest to blossom.
not
The flowers that take the longest to blossom are usually the most beautiful ones.
;-)
It's been more than five years since the project started. A long time indeed. Between then and now, many world events have taken place: the Asian tsunami, the London bombing, the 2004 Olympics, the emergence of blogsphere, AJAX, etc, etc.
A good and relatively new starting point to learn more: [http://planetsix.perl.org].
I hope the team is not aiming for a perfect language, because that'll take too long to attain or is simply unattainable.
No, that's Perl 7. Perl 6 is being designed as a development basis for it, thought to evolve naturally into it...
I know there's Pugs, but until an official implementation is launched, Perl 6 is still vapourware.
The future of Pugs is uncertain, and not necessarily in a negative acceptation of the term. AIUI, now it is indeed an unofficial implementation, but even if it is optimized for fun, it is a concrete basis for Perl 6.
And thanks to Pugs Perl 6 is here today. It's only a
$ sudo apt-get install pugsor
$ sudo prt-get depinst p6-pugsaway, to anonymously name two osen/distros I'm somewhat familiar with: YMMV, but not too much!
Would it be too much to be hope for a first release by the end of 2006?
For 6.0?!? AFAICT, yes, it would be too much. But then what I can tell is not much. No big harm done, as I wrote and most of us already know, Perl 6 is here today.
This is taking place primarily on perl6-language and Freenode#perl6 and is probably going to take about another year to fully complete. The vast majority of the language has been specced out and you can use a lot of it right now in Perl5.
This is the testbed for Perl6 language design. It's the place that two very important things are taking place:
Another rather neat side-effect of Pugs is that multiple VMs are targetable by Pugs, including Parrot. This is demonstrating a rather interesting feature of separating language from implementation which no Perl version has ever had.
Parrot is the primary VM target for Perl6. This is probably going to take at least another 2-3 years for a stable Parrot to come out. But, it's arguably the most ambitious F/OSS project ever undertaken. The idea that a group of (mostly) volunteers can create a VM that will be able to run nearly every language ever designed on nearly any OS ever deployed and do so with good performance characteristics is still being laughed at. Yet, it's becoming a reality. Ten years for something like that isn't too long to wait, imho.
Did I forget to mention that you will be able to run a program in one language and use libraries from another, so long as all the languages run on Parrot? That smells like a .Net killer, to me ...
The Perl Grammar Engine. This is what will let you redefine Perl6 syntax within a given scope. This should take about another year or so. (It would go quicker if Patrick didn't have to write it in PIR, which is a glorified assembly language.)
Personally, the most interesting aspect of this is taking the ideas generated on P6l and port them to Perl5. There's a ton of things that can be brought over to making our lives easier.
...you can use a lot of it right now in Perl5.
How? I understand there is a Perl6 namespace in perl5; is this where most/all of these things have been put? Or is there a handy index of such things somewhere?
TIA...
This is most true in the OO-space. Since the OO metamodel for P6 is still being designed (in large part by stvn), the P5 playthings for this aren't in the Perl6 TLN. They're primarily in the Class TLN. Look for distros written by Luke Palmer and Stevan Little, among others.
The design of the Perl6 language
This is taking place primarily on perl6-language and Freenode#perl6 and is probably going to take about another year to fully complete. The vast majority of the language has been specced out and you can use a lot of it right now in Perl5.
And in the meanwhile evolution doesn't stop:
Me too. If it's any comfort, just think of the design of Perl 6 as a genetic algorithm running on a set of distributed wetware CPUs. We'll just keep mutating our ideas till they prove themselves adaptive. - Larry Wall in p6l, "Re: Adding linear interpolation to an array"
It may seem sucidal at first sight to keep the doors open to further enhancements and changes in the basic syntax and semantics while there's an implementation being written -albeit an "unofficial" one-, but so far there's not been evidence of any major issue related to this. So I'm very positive about future developements!
The Perl Grammar Engine. This is what will let you redefine Perl6 syntax within a given scope. This should take about another year or so. (It would go quicker if Patrick didn't have to write it in PIR, which is a glorified assembly language.)
Are you serious? About the PIR bit? Also I did a search on PGE and didnt get a lot of useful hits on google (I have terrible google-fu tho), I'd like to look into this to see if I feel up to contributing, but I have to admit I dont see anything I can start with. Where can I get an overview of the status and design of PGE?
AFAIU it's a part of Parrot. The README and STATUS document may help.
Besides the information in the parrot repository, you can search for PGE related posts in Perl6.Compiler. I would also recommend talking to Patrick directly.
Cheers - L~R
pmichaud originally wrote PGE in C but the current project is in PIR.Wow. There must be a good reason for this, but for the life of me, I can't figure it out. Why would you write this in an assembly languge (can you say maintenance nightmare?!?), instead of a high level language? Isn't that what compilers are for? I'm beginning to think a decade is optimistic. Is it just me, or does it seem like anything that touches Parrot turns to stone? Thank goodness for Pugs and A. Tang & Co.
C isn't a high level language. It's a portable assembly language.
Have you ever written anything in PIR, read anything about PIR, or even looked at what PIR code supports?
That's a rhetorical question, by the way. It's a lot easier to work with than C. Patrick has said the same thing.
Sorry but PIR is a high level language :-) Perhaps you're confusing PIR with PASM which is more akin to an assembly language. Writing PIR is closer to writing in Perl in many ways.
There's sort of a bootstrapping problem there.
There's sort of a bootstrapping problem there.Que? Are you saying that there's been a review of the situation and for technical reasons it wouldn't be optimal? Or are you saying you don't understand how bootstrapping a compiler in general works? The hard work is already done, since you can use Pugs as your bootstrap compiler.
Perhaps "the hard work" is done now but the C implementation of PGE predates pugs by several months. The PIR implementation of PGE was also started before pugs existed and substantial work was done before pugs was mature enough to even be an option. (I believe the PIR implementation first entered the parrot repository in April or May 2005, but much work had been done before then.)
Besides using PIR for PGE is also a good case for "eating your own dog food" (IMHO) in that parrot was designed to do this stuff.
But maybe you're right and a perl6 (pugs) implementation of PGE would be better (now). We could compile it down to PIR or PIL or Javascript or Haskell or whatever and use it many places. Maybe you should suggest it to pmichaud or if you really wanted to contribute to the community you could do the implementation yourself. Patches speak louder than words. :-)
The PIR implementation of PGE was also started before pugs existed and substantial work was done before pugs was mature enough to even be an option.Ah. That answers my original question. Thanks.
perlmonks.org content © perlmonks.org and Anonymous Monk, blazar, BrowserUk, chromatic, demerphq, dragonchild, duff, jdporter, jesuashok, john_oshea, Limbic~Region, Nude Reaper, tirwhan, TomDLux, zentara
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03