Perl 6 - I hope it won't take a decade
Anonymous Monk
created: 2006-01-18 08:08:46
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.

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?

Re: Perl 6 - I hope it won't take a decade
created: 2006-01-18 08:51:03
Hi

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

"Keep pouring your ideas"
Re: Perl 6 - I hope it won't take a decade
created: 2006-01-18 09:09:08

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?

  • You've invested a lot of money / time in the Perl 6 development process and you think the Perl 6 development team are a bunch of stoopid good-for-nothing slackers?
  • There is something that only Perl 6 can do, and your income / well-being / success with your gender of choice depends solely on a pre-2007 release? Of a programming language, no less...
  • You are, in fact, Larry Wall and feel like having an anonymous whinge?
  • ...something else?
Re^2: Perl 6 - I hope it won't take a decade
created: 2006-01-18 09:25:22
I remember this incident...
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.

Re^3: Perl 6 - I hope it won't take a decade
created: 2006-01-18 09:57:24

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?


There are ten types of people: those that understand binary and those that don't.
Re^4: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:17:25
I'm not whinning. I think you should look at it positively. I have been using Perl and I love it. If I could contribute, I would have done it in 2001.

I was concerned that if it dragged on, it might never materialise.

Re^5: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:23:50

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).


There are ten types of people: those that understand binary and those that don't.
Re^6: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:55:28
Then I suppose you would consider the mug-smashing incident as whinning. But, if I'm not wrong, that actually was the catalyst for Perl 6.

Seriously, if it comes out a decade later, many things would have changed.

Re^7: Perl 6 - I hope it won't take a decade
created: 2006-01-18 11:07:03

...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.

Re^7: Perl 6 - I hope it won't take a decade
created: 2006-01-18 11:13:18
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...


There are ten types of people: those that understand binary and those that don't.
Re^5: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:29:55
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 :-)

Re^5: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:32:01
Contribution methods:
  • Write failing tests for Pugs
  • Write failing tests for Parrot
  • Ask questions on Perl6-language
  • Run smoketests for Pugs
  • Run smoketests for Parrot
  • Ask more questions on Perl6-language
  • Implement a feature you want from Perl6 in Perl5 and put it on CPAN
  • Write failing tests for a Perl6 feature in Perl5 and give it to someone to pass and put on CPAN
  • Ask dumb questions on Perl6-language

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.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re^3: Perl 6 - I hope it won't take a decade
created: 2006-01-18 09:59:16
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...

Re^4: Perl 6 - I hope it won't take a decade
created: 2006-01-18 21:55:11

That would be FSM

Re: Perl 6 - I hope it won't take a decade
created: 2006-01-18 09:32:10
The most beautiful flowers usually take the longest to blossom.

I'm not really a human, but I play one on earth. flash japh
Re^2: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:29:24

Bad analogy.

Let's just hope it beats chusquea abietifolia into bloom :)


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
Re^3: Perl 6 - I hope it won't take a decade
created: 2006-01-18 12:11:31
I thought it was a pretty good analogy myself. I was talking about beautiful flowers as the first criteria, not length of time. Your example uses length of time as first criteria, and I have to agree that if Perl6 takes 200 years to blossom, it will probably smell bad. :-)

I'm not really a human, but I play one on earth. flash japh
Re^3: Perl 6 - I hope it won't take a decade
created: 2006-01-19 02:56:27

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.

;-)

Re: Perl 6 - I hope it won't take a decade
created: 2006-01-18 09:44:37
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 pugs
or
$ sudo prt-get depinst p6-pugs
away, 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.

Re: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:04:26
There's at least three separate and (somewhat) unrelated projects going on here, all under the banner of "Perl6".
  1. 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.

  2. Pugs

    This is the testbed for Perl6 language design. It's the place that two very important things are taking place:

    1. Language features are being tested
    2. Tests are being written for language features
    The goal is that the test suite written for Pugs will be test suite for Perl6. That's a huge development effort that needs to happen that's happening right now.

    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.

  3. Parrot

    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 ...

  4. PGE

    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.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re^2: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:16:21
...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...

We're building the house of the future together.
Re^3: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:23:33
Anything that explicitly uses a Perl6-like syntax tends to live there. However, not everything that's been inspired by Perl6 is in the Perl6 TLN. For example, in Re: Using perl 6 roles in perl 5, I list four different implementations of roles in P5. Even though I wrote Perl6::Roles, it's arguable that Class::Trait (written by stvn and maintained by ovid) is going to be closer to the final P6 roles than my implementation (even though half the tests for mine were written by stvn).

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.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re^2: Perl 6 - I hope it won't take a decade
created: 2006-01-18 10:21:44
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!

Re^2: Perl 6 - I hope it won't take a decade
created: 2006-01-18 13:51:00

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?

---
$world=~s/war/peace/g

Re^3: Perl 6 - I hope it won't take a decade
created: 2006-01-18 14:32:48

AFAIU it's a part of Parrot. The README and STATUS document may help.


There are ten types of people: those that understand binary and those that don't.
Re^3: Perl 6 - I hope it won't take a decade
created: 2006-01-18 14:58:00
demerphq,
Glad to see everything I was telling you about this sunk in ;-). pmichaud originally wrote PGE in C but the current project is in PIR. PIR (Parrot Intermediate Representation) is just marginally higher than Parrot assembly (PASM). Don't let that deter you though since PASM is an OO assembly language.

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

Re^4: Perl 6 - I hope it won't take a decade
created: 2006-01-18 16:53:02
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.
Re^5: Perl 6 - I hope it won't take a decade
created: 2006-01-18 17:04:50

C isn't a high level language. It's a portable assembly language.

Re^6: Perl 6 - I hope it won't take a decade
created: 2006-01-18 17:53:11
  • The sky is blue.
  • Two and two is four.
  • There are seven days in a week.
Who said C was a high level language? Last time I checked Pugs was written in Haskell.
Re^5: Perl 6 - I hope it won't take a decade
created: 2006-01-18 18:20:45

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.

Re^5: Perl 6 - I hope it won't take a decade
created: 2006-01-18 19:19:06

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.

Re^6: Perl 6 - I hope it won't take a decade
created: 2006-01-18 20:55:25
OK. What am I missing? All the PIR code I look at seems very similar to assembly language (with the possible exception that the jump instruction has been renamed goto ;-). Combine that with the fact the most descriptions (follow the link to PDF) pretty much state that "PIR is a slightly higher level language than PASM". I'm just curious, why isn't PGE written in (a possibly restricted version of) Perl6?
Re^7: Perl 6 - I hope it won't take a decade
created: 2006-01-19 14:38:30

There's sort of a bootstrapping problem there.

Re^8: Perl 6 - I hope it won't take a decade
created: 2006-01-19 15:44:09
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.
Re^9: Perl 6 - I hope it won't take a decade
created: 2006-01-19 16:53:33

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. :-)

Re^10: Perl 6 - I hope it won't take a decade
created: 2006-01-19 17:27:38
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.
Re^7: Perl 6 - I hope it won't take a decade
created: 2006-01-19 15:07:08
PGE is the Perl Grammar Engine, but it's a Parrot distribution. It's meant to be usable in any language that runs on Parrot, not just Perl. In a way, it'll replace the pcre engine.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re^8: Perl 6 - I hope it won't take a decade
created: 2006-01-19 15:40:27
Right. You'd use your Perl6 compiler (Pugs, for the sake of argument) to compile a P6 version of PGE down to PIR or PASM bytecode. Then you'd be able to use it with anything that runs under Parrot. Just like how CPAN6 libraries are supposed to be usable with Ruby-on-Parrot, Python-on-Parrot, etc.
Re: Perl 6 - I hope it won't take a decade
created: 2006-01-20 12:22:59

Yes, it would be to much to hope for.

--
TTTATCGGTCGTTATATAGATGTTTGCA

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