Slashdot Mirror


perl6 and Parrot 0.5.2 Released

mAriuZ writes "Bob Rogers just released Parrot 0.5.2. This monthly release includes a couple of interesting new features. First, we've bundled Patrick Michaud's Rakudo (thats the implementation of Perl 6 on Parrot) such that you can type make perl6 on Unixy platforms and make perl6.exe on Windows and get a working standalone Perl 6 binary. This is experimental and we hope to iron out some installation and deployment issues by next months release, but it was important to demonstrate our progress. The second new feature is a toolkit for starting your own compiler. Max Mohun built a prototype several months ago, and we've added a stripped-down version for now that builds the skeleton of a compiler for you using the Parrot Compiler Tools. I mentioned the LOLCODE compiler in What the Perl 6 and Parrot Hackers Did on Their Christmas Vacation; this is how Simon and Company were able to get LOLCODE up and running so quickly."

11 of 229 comments (clear)

  1. LOLWUT by kcbanner · · Score: 5, Funny

    hai
    can has stdio?
    visible "frist p0st!!"
    kthxbye
    btw damn you lameness filter!

    --
    Obligatory blog plug: http://www.caseybanner.ca/
    1. Re:LOLWUT by Guy+Harris · · Score: 5, Informative

      Offtopic? That is an example of LOLCODE, and the article does note that there's an implementation of LOLCODE atop Parrot.

  2. Perl 5 to Perl 6 by cynicsreport · · Score: 5, Interesting

    In the time it took to develop Perl 6, other programming languages have been conceived, implemented, used and abandoned.
    While I am relieved that Perl 6 is finally showing signs of life, I have concerns:
    1. Can Perl 6 take the place of Perl 5?
    Perl 5 is integral to Unix/Linux systems; it is pretty much taken for granted. To switch to Perl 6 seems like a monumental task. It seems more likely that those wishing to use Perl 6 will have it installed along with Perl 5 (not instead of).
    2. Did it take too long?
    Perl 6 received a fair amount of hype when the project began. With no realistic timetable publicly announced, it seems that people forgot or gave up on it. In fact, in that time Python has become very popular; I wonder if it has taken some of the 'market share' that would have otherwise gone to Perl 6.
    3. Is it any good?
    Perl 6 was supposed to be the "community's" rewrite of Perl 5. The word 'community', when it comes to programming language design, is a bit concerning.... It almost sounds like a euphemism for 'committee'. And that makes me shudder. I once heard the expression "A camel is a horse designed by committee." And I can think of a few programming languages that go along with that saying (No offense to camels).

    Either way, I will download it. I will use it. I will see if it's any good. And, despite all of the issues, I am glad it's finally here!

    --
    - Demosthenes
    cynicsreport.com
    1. Re:Perl 5 to Perl 6 by synthesizerpatel · · Score: 5, Interesting

      1. No. Nobody will care about Perl 6, plus, it's not integral to Linux/Unix. The reason Unix is popular is that you have options. Perl works if you like it, but you don't have to use it or be aware of it.

      2. It took far too long. They had books out about Perl6 after the announcement, consisting of reprints of whitepapers and proposals.. Years later, still no perl 6 for real.

      3. Nobody will care how awesome Perl 6 is. The audience of Perl 6/5 doesn't care about single binding vs multiple binding objects -- they won't even get out of bed to have an argument about strongly typed languages vs. weakly typed languages. They just like easy programming -- the metric of Perl 6's success is how much it caters to lazy people. If you want glue, use perl, if you want cement you use something stronger.

      (I was a Perl guy for 15 years, used to love it, now Perl and Ruby both look like line noise that's been encrypted -- compared to my new girlfriend, Python.)

    2. Re:Perl 5 to Perl 6 by chromatic · · Score: 5, Funny

      I too will use PERL6, no matter what name it is given.

      That's good; that name will likely be "Perl 6".

    3. Re:Perl 5 to Perl 6 by IkeTo · · Score: 5, Insightful

      > 2. Did it take too long?

      > Perl 6 received a fair amount of hype when the project began. With no realistic timetable
      > publicly announced, it seems that people forgot or gave up on it. In fact, in that time
      > Python has become very popular; I wonder if it has taken some of the 'market share' that
      > would have otherwise gone to Perl 6.

      I tend to think Perl 6 as a completely new language, rather than a new version of an old language. If you have even the concatenation operation changed from "." to "_", and if array indexing that you had written as "$arr[$i]$" now must look like "@arr[$i]" instead, and if you'd lose RAII on the way because garbage collection is now no longer at predictable time, it mean all programs will have to be significantly modified or at least converted. This is not exactly what I'd expect from a new version.

      As a new language, it emerge probably slower than what most of us hope, but is probably not as slow as most of us perceived. After all, Perl 6 is a very ambitious language that have all features of Perl 5 and quite a bit more, and it has a completely new low-level engine as well. That slowness is probably due to the lack of any people dedicated to its implementation until very recently.

      By the way, Python is not new. The first version of Python is released in approximately the same time as the first version of Perl. Python is first conceived in the 80's, first implementation started being written late 1989, completed 1991, and did not gain general acceptance until 2000. FYI, Perl 6 is conceived in 2000, Pugs starts to be implemented in early 2005, although it is still quite rudimentary.

  3. Perl6 has *not* been released by 5E-0W2 · · Score: 5, Informative

    This is not the release of Perl 6, this is merely another release on the branch that will one day become the perl6 release. The interesting change is that you can now build a proper binary version of perl.

  4. Re:BFD? by adamkennedy · · Score: 5, Insightful

    This is probably just flame bait, but here's your answer.

    Python is overly simplistic, making it difficult to do certain types of interesting programming.

    This is by design, Python is meant to be dumbed down (in the sense that Java is) and have a clean small footprint.

    Ruby is slow, even by scripting language standards (in the main implementation, anyways).

    This is by design (well ok, not really), but Ruby needs to support all those gorgeous abstraction layers somehow.

    Both of them aren't that amazing when it comes to Unicode (like Perl or Java), don't have built in security-hardened modes (like Perl's tainting or PHP's weird data firewall thingy, etc), aren't as portable as they might be (like EBCDIC, VMS, S390 and other places that aren't Unix or Windows) and their package repositories lack sophistication and the ability to properly nest dependencies in a cross-platform way (like Perl, Fortran, R and Erlang).

    So by all means, if you have simple programming needs on lowest-common-denominator environments doing ordinary things and you don't stretch far beyond the core libraries, by all means go with a language that fits your brain the best, be it Perl, Python, Ruby, Brainfuck, whatever.

    If you want to integrate with C code inside the rendering pipeline of a movie render farm while having code so boring anyone can maintain it, use Python.

    I'm still not sure of anywhere that Ruby is a standout success... Rails has jumped the shark and is in decline, and I'm not aware of any major use cases...

    Perl is still a brilliant language to get the simple things done really really fast but tieing together half a dozen CPAN modules, while still having the ability to scale your code base up a hell of a long way, and the knowledge that it's fairly easy to write highly portable code.

  5. Re:About Parrot .. by Anonymous Coward · · Score: 5, Informative

    Yeah, the idea is that you can write Python code that has access to all of CPAN, for instance. In fact, the whole Parrot theme came from an April Fool's joke referencing the Monty Python skit, saying that Perl and Python would converge into a language called Parrot. Thus, Perl and Python are Parrot's two canonical languages.

    Of course, you can also write a CGI script in Perl that can import some PHP library, for another example.

    This is much like Microsoft's DLR (Dynamic Language Runtime), which intends to make the world of .Net libraries available to dynamic languages, with Python, Ruby, and JavaScript as its headliners.

    dom

  6. Not Quite Finished Yet, But... (formatted) by ImustDIE · · Score: 5, Informative

    Very sorry for double posting, but I checked the wrong formatting box on the previous post.

    This post is a little misleading. Perl 6 is not done, this isn't a 'Perl 6 release'. It's just another Parrot release, with the neat feature that you can finally run a perl 6 binary instead of going through the parrot one. This, by itself, is nothing major. The main reason for this post is to publicize the great amount of progress Perl 6 and Parrot have made, particularly within the last few months. And by publicizing that, to hopefully get more people involved.

    If you're interested in running Perl 6 now, check out www.pugscode.org -- Audrey's compiler is still further along than the official 'Rakudo' one (although it shouldn't be for too much longer ;-). However, this is still great news to Perl fans. I'm not a contributor, but I do subscribe to the parrot mailing list; the fact that the real Perl 6 interpreter (although incomplete) is finally underway and making great progress, and the momentum that comes with that, is exciting.

    Even if you're not a Perl fan, the Parrot bits should still be quite interesting to anyone that enjoys language implementation. The PCT (Parrot Compiler Toolkit) is maturing nicely and many languages have working interpreters/compilers (to various levels of completion) using it. The amazing thing about it is the sheer speed that you can get a working language together. Rakudo is built on top of NQP (not-quite-perl6) -- a subset of perl 6 built in a matter of (a very few) weeks. And it's important to keep in mind that while Perl 6 is the star of the show for Parrot, Parrot is being designed to fit all dynamic languages; so don't be scared off because you think Parrot is too Perlish. I regularly see posts on the mailing list helping to make Parrot friendlier for other languages (particularly TCL) as people develop using parrot.

    For open source fans, I think Parrot is our best bet for a VM to give .NET a fight (although feel free to reply with other suggestions, I don't keep up with too many others ;-).

  7. Not "Community". More like Larry's Magnum Opus. by Anonymous Coward · · Score: 5, Interesting

    The supposed "community" rewrite started with a bunch of actual community requests, which Larry Wall then waded through increasingly slowly, pretty much taking the little bits he liked, then proceeded to add on a huge set of requirements that he cared about personally (and to be fair, probably the core Perl devs too). Things like extending regex into a full grammar that could parse Perl and be used to extend the language. And linguistic and abstract gumbo like how regular control flow (returning for a fucntion) was some specialization of the exception mechanism.

    Dont get me wrong, I loved reading the Apocalypses. I thought, "wow, Larry really has a deep vision of where he wants things to go". I thought is was pretty neat and hoped to play with it. But in my mind I was thinking that Perl 6 would keep to the general strengths of Perl, in that it was FAST to get done what you wanted.

    That was YEARS ago. I'm abstractly interested but have no desire to use Perl anymore. The "community" rewrite was sprinkled with requests that addressed what people were actually trying to do (certainly NOT trying to parse Perl, NOT taking 6 years, and NOT trying to get a VM running), they were a hodgepodge but every submission was pretty much focused on a narrow problem and in themselves would be achievable in less than 6 years. Instead it's become Larry's Odyssey. I also no longer harbor any expectation that Perl 6 will be FAST (to learn incrementally, to develop a quick solution, or to execute). Great if it does, I just don't believe or care.

    I wish Perl 6 had been the 'shortsighted' approval of perhaps a quarter or a third of the RFCs, rolled out within a year or two. Maybe Perl 7 could have continued this stupid trajectory it's on to irrelevance. More importantly, the volunteer development and donations would be much higher because people would actually CARE about the progress and the features.

    This wasn't what it should have been. It is like this because Perl 6 was overrun by Larry's priorities instead of the community's.