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."
hai
can has stdio?
visible "frist p0st!!"
kthxbye
btw damn you lameness filter!
Obligatory blog plug: http://www.caseybanner.ca/
Eleven months early!
Be heard || Be herd
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
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.
Does Parrot work like the .Net framework in the sense that libraries say writen in Perl can be used in Python or Tcl!
(note that Tcl is a completly different paradigm than Perl or Python)
.Net to achieve this it forces languages to implement certain set of features, and that the libraries to be shareable to be written using a subset of the CLI or CLR. Are there any Parrot plans for something similar, the idea of a single Libarary archive for all the free languages out there sounds amazing. Groovy is doing something exactly this with Java.
I do know that for
Anyway, I read the faq and this seems unlikely to be planned for, but maybe someone else knows better!
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.
I use Test::More and other Perl test automation tools extensively at work. I recently wanted to make a web front end for the testing reports. I already had test results parsers written as Perl modules for the command line test analyzers, so I just used Perl to make the test report pages with CGI.
It's not always the right choice, but it can still be very useful.
https://www.facebook.com/digitizeicm -- Show your support for the digitization of the Iron County Miner newspaper archiv
"...while having code so boring anyone can maintain it..."
I hope that I understand that wrong and that you don't consider unintelligible, unmaintainable, code 'interesting' in a good sense.
Because my mama taught me to comb my hair, keep my fingernails clean and write code that other humans can understand without wanting to couge their eyes out with a fork.
This isn't reddit - some of use have jobs and use Perl to make those jobs easier. We can't afford the language of the month fads that pervade that other site.
Uh...Slashdot just rewrote its interface and much of its code base a few months ago. Not exactly legacy.
Very sorry for double posting, but I checked the wrong formatting box on the previous post.
;-). 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.
.NET a fight (although feel free to reply with other suggestions, I don't keep up with too many others ;-).
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
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
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.
I'm not sure why anybody is up in arms about a Perl6 release date. It takes a long time to get done. That's the way the world works. This isn't a platform with a fixed set of requirements, a predictable user base, and limited scalability requirements.
People have been arguing for who knows how long about syntax. At some point the argument has to end and someone has to implement that syntax. It's not an easy thing to bring either of these points to conclusion.
Parrot is register based, not stack based. Perl has been developed using Haskell, and eventually it will come to the point where perl can be compiled with itself. These are monumental tasks for volunteer workers pursuing some pretty hefty goals for the sake of pursuing them.
Pugs has been working for quite some time already, and its an easy transition for anybody already familiar with perl.
I can see criticizing the project because it's hard for a newbie to figure out how to help, or criticizing the syntax in favor of ruby/python/etc, or criticizing performance (although both Perl6 and Parrot perform very well IMO), but criticizing the time it has taken to build? Get off your high horse and go build your next big Web 2.0 script that can do anything as long as you have less than 100 daily visitors.
Working lambdas (especially closures), for one.
How ironic that you praise Scheme's design in this context. The ambiguous parsing of vertical whitespace leads directly to the broken lambda problem. Now that's probably fine for a teaching language, but plenty of people seem to think that Python is a language that scales up for experts. If that's the case, perhaps it's appropriate to judge the design of Python in terms of how it supports important features on which to build larger and more elegant abstractions.
how to invest, a novice's guide
Python's lambda is limited to a single expression, which sucks, but you can always do def _(...) just before use. As for closures, Python implements closures properly (properly = as described in SICP, the environment model of evaluation), but immutable objects such as numbers or strings are, well, immutable, and the = operation played on a bare symbol always defines it in the current scope. However, an improvement on this regard is coming on Python 3000.
...code goes here... ...more statements...
Python's parsing of vertical whitespace is not ambiguous. Lambda doesn't support statements because Guido doesn't want to. I would easily allow something like:
higher_order_function(lol, lambda x, y:
, next_arg, etc)
Or, if Python didn't have statements (which are the real flaw IMO), you would just do something like:
higher_order_function(lol, lambda x, y: progn(
whatever,
whatever), next_arg, etc)
Define progn as lambda *a: a[-1].
I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
Because my mama taught me to comb my hair, keep my fingernails clean and write code that other humans can understand without wanting to couge their eyes out with a fork.
You don't happen to be mrs. roberts's child, do you?
This is insightful? Since when is opinion stated as fact insightful?
OK--here goes:
Perl has to many shifted numbers as part of is syntax.
English words are too hard to spell.
Lisp is backwards and all of the parentheses make it hard to read.
Python is named after a snake making it a stupid name.
Python is named after a comedy troupe making it a stupid name.
C would be good except that it takes to long to make anything work.
Python makes me indent which makes me feel like a little kid.
Indent is not mandatory in most languages.
Fortran makes you start in a set number of columns from left and the lack of case sensitivity makes it seem to simplistic for anything worthwhile.
Objective C replaces periods with closed brackets making you type too much.
Put any of these languages on a server farm and milk a cow.
I'm a pony.
Basic is the best language because I've never bothered to learn anything else. It can scale up and you can write libraries to get almost anything done you want. Its easy to program in. I don't use goto that much.
Just callin' it like I see it.
Compare that to Perl5 OO. Perl5 OO is dog food, yet Perl 5 library authors consistently use it to define their library interfaces. All those libraries may toss the OO and rely on hashes of closures behind the scenes -- I haven't checked -- but library programmers evidently find it advisable not to share their elegant abstractions with users. Instead, they use objects, which (in Perl5) are wonky, bizarre, and understood by practically no one who isn't a Perl language guru. The fact that library authors define their interfaces in terms of constructs that few people understand seems like an admission that Perl has its own problems creating elegant abstractions.
Actually, the idea is that you can know enough about Python to work competently with Python code and still have enough brainspace left over to be an expert in something besides programming. Try THAT with Perl.... I mean, try that sometime when you're not ten times as smart as I amAnd you are:
:) .
1. Mocking environmentalism;
2. Thinking by hating a religion I hate the gullible fools that follow it (if anything, I hate the immoral atheists who created it to abuse their lambs);
3. Disregarding that illogical and contradictory things don't need to be disproven, and that even if presented with a non-illogical and non-contradictory belief such as "flying green elephants no-one has ever seen", it's their task to prove, not mine to disprove.
But I get your point
I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
Perl 6 != Perl 5++
Perl 5 is a interpreter which happens to grok Perl 5. It's the one and only implementation that implements all features (by definition). There is no other specification.
Perl 6 is not a interpreter or compiler. It's a specification and as such there will be many implementations. Do you know what the current "release" of C++ is? See...
Want to use Perl 6 today? Use Pugs.
Meme of the day: I browse "Disable Sigs: Checked". So should you.
Theres a lot of revolutionary features in parrot. Its unpopular so its fun to bash it but I expect the
The same way people who bash Linux just don't get it, the people who bash parrot just don't get it. Peel back the covers and you'll be impressed.
set softtabstop=4 shiftwidth=4 expandtab nocp worlddomination