Run Perl 6 Today: Pugs 6.0.11 released 97
autrijus writes "I am delighted to announce that Pugs 6.0.11 is released, with experimental pugscc support to turn Perl 6 programs into stand-alone executables, as well as many new features. Pugs is an implementation of Perl 6, written in Haskell. For more information, see Pugs Apocryphon 1 and this perl.com interview."
Excellent (Score:1)
Re:Excellent (Score:5, Interesting)
It may seem odd, but Pugs has actually inspired several developers to learn Haskell.
Re:Excellent (Score:2)
Re:Excellent (Score:2)
Developers Needed (Score:4, Informative)
is Perl 6 already standardised? (Score:2)
Re:is Perl 6 already standardised? (Score:5, Informative)
Has Perl 6 been specified? [perl.org]
By December 2004, most of Perl 6 has been specified as a series of Synopses. Although not considered final, it is now stable enough to be implemented. Many of the Synopses are based on Larry's Apocalypses. Sometimes the design team releases Exegeses, which explain the meaning of Apocalypses. Pugs adheres to the Synopses, referring to Apocalypses or Exegeses when a Synopsis is unclear or imprecise.
---Still doesn't answer what the Perl6 folks are waiting for...
Re:is Perl 6 already standardised? (Score:1)
overcome the switching costs of giving up Perl5, for that community
draw fresh mindshare towards TMTOWTDI, and way from the Pythonic TIORWTDI
convince people that a language whose operator chart could be confused with the periodic table of elements [ozonehouse.com] is a Good Thing. :)
A development effort led by anyone less than Larry would surely be a trip to the Wailing Wall.
Re:is Perl 6 already standardised? (Score:3, Interesting)
There are several projects underway to migrate existing Perl 5 code to Perl 6 and Parrot, so no-one will be forced to give up Perl 5 and CPAN when it arrives. Indeed, were it not for CPAN, I think many people (me included) would stay around to work with Perl 6.
As to fresh mindshare, Perl 6's optional strong typing and cleaner OO semantics does draw new people to join. It is also worth noting that Perl 6 has fewer precedence levels then Perl 5, and the operators are more s
Re:is Perl 6 already standardised? (Score:2)
Re:What happened to Parrot? (Score:2, Interesting)
They're still working on it, and it looks like it's going to be pretty impressive when it's done. But they're writing it in C, which is great for fast code but very bad for rapid development. This is written in Haskell, and therefore has the opposite characteristics: the interpreter is apparently about 100 times slower than Perl5, but on the other hand they developed a working interpreter from scratch in one week.
T
It's amazing how productive Autrijus is (Score:1, Interesting)
Re:It's amazing how productive Autrijus is (Score:3, Insightful)
Re:It's amazing how productive Autrijus is (Score:1)
Re:What happened to Parrot? (Score:1, Interesting)
Christ (Score:5, Funny)
An implementation of Perl 6.. in Haskell?
There is something that feels.. oddly.. wrong about that. I can't put my finger on it.
It's kind of like the feeling I got when I watched a porno with a hot girl and a really hairy guy.
Hrm... I'll have to download this.
-Laxitive
Re:Christ (Score:2, Funny)
Please don't compare Perl 6 and Ron Jeremy [imdb.com]. I think Ron would be insulted.
Re:Christ (Score:2, Funny)
Re:Christ (Score:1)
Enjoy your nightmares.
Re:Christ (Score:4, Funny)
Interestingly, this Perl-as-Uncle-Ron parallel seems to run on and on. Uncle Ron keeps trying to break into the "mainstream" and find "mass acceptance", and while he has done so in limited roles that play to his special strengths, at the end of the day he is a superstar of porn but a pretty sorry legitimate actor.
Re:Christ (Score:1)
When you're watching Ron in action, or reading Perl... it can be difficult to make out what's going on. It's often hairy, confusing, and messy. In the end, though it may not have been pretty, they get the job done and produce results.
Ron has more humps than a pack of camels, perhaps he sould be the mascot for Perl 6.
perl6 is a mistake (Score:4, Interesting)
One of the goals of Perl 6 is to make non-trivial projects possible. That's good. The way it's being done is bad. Perl was once a lightweight, extremely flexible language. Now it's become a huge ugly monster [mozilla.org]. People wanted OO, so a nasty hack was bolted on top to allow some semblance of it. Now this nasty hack is being expanded. Sure, the code's different, but the basic form is the same. Kludge upon kludge upon kludge; I'd much rather have a nice, clean, pure language [rubycentral.com] (and not one with loads of irritating whitespace [python.org] thank you very much).
The same goes for the syntax. All the switching between $, @ and % is really irritating (ask a newbie how to get at the length of the keys array of a hash inside a hash, for example), and the changes proposed for 6 are just making this worse -- it seems that Larry, in his infinite wisdom, wants to prefix every data type with a different hard-to-type character. Perl was only designed for the three data types, and adding more is a mess.
Perl 6 is a complete rewrite, but it keeps all the mess which has accumulated over the previous versions. This is not good. Sure, my const int $var = 27; may look neat (in the same way that, say, Pascal [lysator.liu.se] does), but $var isn't entirely constant, or entirely an integer, it's just a hack which makes it sort of behave like one. It's like Ada all over again! The whole thing is an exercise in pseudo-computer science masturbation with little real purpose except to please the managers who dislike the one thing that makes Perl special.
On a similar note is regexes. I'm an avid fan of regular expressions simply because a nondeterministic finite automata is far more flexible than linear code. However, Larry must have been smoking that cheap $2 crack when he wrote this [perl.com]. Does he want Perl 6 to be flex [gnu.org] or something?
I won't be going on to use 6. It's a nice idea, but it's completely unnecessary. It won't make large projects any easier to manage (the language is still, at heart, an almighty hack -- an impressive one, but still a hack). It won't make OO any cleaner. It won't make development any faster. I'd prefer to use a language [ruby-lang.org] which has always been pure synthesis of science and engineering, not some half-baked imposter [beonex.com].
Perl 6 will be nice, but I'm guessing it will be the end of Perl. It can't do what it wants to do whilst still being based upon a nasty mess. There are now other options, which provide all of Perl's power and none of the mess. Sorry, but *BSD^H^H^H^H Perl is dying.
Re:perl6 is a mistake (Score:2)
Re:perl6 is a mistake (Score:2, Interesting)
Re:perl6 is a mistake (Score:2)
Re:perl6 is a mistake (Score:2, Interesting)
Re:perl6 is a mistake (Score:1, Informative)
This dynamic regex matches text within an arbitrarily-nested set of nested parentheses, by recursively 'calling' the compiled regex $LevelN from within itself - the left hand condition of the alternation is the exit condition. It works in Perl 5.6 or higher, maybe even earlier - just
perl patterns can match context sensitive grammars (Score:2)
Re:perl6 is a mistake (Score:2)
while (condition);
{
do_stuff();
}
or this one
for (...)
statement1;
statement2;
those mistakes can't happen in Python. A whole class of bugs eliminated, and all you have to do is indent your code (you don't do that anyway?!)
Re:perl6 is a mistake (Score:2)
Indent will fix the indentation, but who is going to compare the before and after to see if something visibly changed scope?
Besides, Python will let you write complicated things on a single line, provided that you don't use nested loops or assignments in condit
Re:perl6 is a mistake (Score:2)
you can write 'if y:x'
or you can write 'if y:x;x;x;x;x;x;'
Re:perl6 is a mistake (Score:1, Insightful)
Re:perl6 is a mistake (Score:2)
Repeat after me:Tabs Are Evil [emacswiki.org]
tabs (Score:2)
Tabs are not that bad; you just have to be more careful. If you can handle tabs consistently [derkarl.org], then tabs are fine. (I happen to use spaces because I've gotten used to it, but spaces do have their disadvantages...)
perl6 is not a mistake (Score:5, Insightful)
Well, I can tell you have some pretty strong feelings on this subject. I'd just like to add a few comments from my perspective as another long time Perl user...
Let me start by saying that I've read all of the perl6 documents with great interest and have almost universally been pleased with the changes that are being made. In all cases, I appreciate how most of the decisions are being made and that the concepts of useability and clarity are taken as important overarching goals. As an example, if you actually read apoc 5 [perl.com] which you linked to as an example of "smoking crack", you'll see that one of the main goals is "better huffman coding" - ie: making frequent tasks easier to express than infrequent tasks and that another is to make regular expressions more readable and maintainable and less like line noise. These, to me, are eminantly admirable goals in a scripting language.
On OO, Note that Perl6, unlike Perl5, is being rewritten with OO at its core, not as an expansion to the previous "nasty hack".
Note also that the perl6 team shares many of your issues with perl5's OO implementation and wants perl6 to be better: Apocalypse 12 [perl.com].
Similarly, when you complain about $,@,% and how confusing they are, you seem to be complaining about perl5isms that perl6 is dedicated to addressing...
In answer to your length of the keys array of a hash question, just use (keys %hash) in a scalar context, or (keys %hash).length. In your specific case, because the hash in inside another hash, you're looking at something like (keys $hash{"key"}).length; ... which doesn't seem particularly brain melting to me, especially compared to perl5. I also don't see this threatened horde of new datatypes you seem so angry about. I really recommend that people interested in what these differences will bring read the Exegesises, where equivalent perl5 and perl6 code is usually compared.
"const int $var = 27;" ? Did you mean something like "my int $var is constant = 27;"? What specifically do you mean when you say that it isn't entirely constant or entirely an integer, and why does it matter?
I completely have no understanding of why perl6 would please "the managers" or what this "one thing that makes perl5 special" is that you think is being lost. As far as I can tell, perl6 keeps everything that I thought made perl5 special and aims to clean up many of the things that make it a PITA.
"It can't do what it wants to do whilst still being based upon a nasty mess." Isn't that why perl6 is a complete rewrite? What unholy mess are you referring to? From your post, I don't believe that you're one to be swayed from your beliefs, but many of your arguments appear on the surface to be based more on emotional response than factual backing...
Re:perl6 is not a mistake (Score:2)
Wouldn't it be nicer if you could do ..or would that be too much sens^H^H^H^H like Ruby?
Re:perl6 is not a mistake (Score:2)
OO at its core? (Score:1)
Well, I'm not sure that it's entirely accurate to say that Perl 6 has objects at its core. That is because the concept of "core" is itself only a loosely defined concept.
The fact that the object system is defined in S12 shows that they are not exactly "core" to the language, but they are definitely deeply ingrained, and widely employed. And consistent. And inflectable. And flexible. And not conforming to rigid ideas about what they should be.
Yes, this is the point where you should get worried. Som
Re:perl6 is a mistake (Score:1)
Recently I've discovered Perl (after beign bored with Ruby), and I'm amazed, it has a steepy learning curve, but every day I learn new ways to do things in a more compact (but illegible for the untrained eye) and smart way possible. And the infinite wisdom you can find in CPAN.
Re:perl6 is a mistake (Score:2)
Re:perl6 is a mistake (Score:2)
I've been using Perl since the mid-90s; I can clearly recall the Perl 4 days, and I've written some reasonably sizeable systems with Perl 5.
That said, I'm also looking at switching my people from Perl to either Ruby or Python.
Things I love about Perl that I'll be sorry to walk away from:
- CPAN; an amazing resource
- for 100 line scripts, the ability to code as quickly as I can type, with few errors when I try to run for the first time
- Perl's ability to bolt stuff tog
Re:perl6 is a mistake (Score:1, Informative)
If you use Parrot implementations of Ruby or Python in the future, you'll be able to freely mix Perl 5, Perl 6, Ruby, Python, Tcl, et al. Which means that:
Things I love about Perl that I'll be sorry to walk away from:
- CPAN; an amazing resource
You will have access to any CPAN module from any supported language using your language of choice native syntax.
- for 100 line scripts, the ability to code as quickly as I ca
Re:perl6 is a mistake (Score:2, Insightful)
Re:perl6 is a mistake (Score:2)
Perl 6 also eliminated a large amount of @{[]} unreadable code -- see Pugs's modules/ and ext/ directory for examples that may be compared directly with equivalent Perl 5 modules.
Re:perl6 is a mistake (Score:2)
First off, let's drop the word "script". It has no place in informed conversation, as it has no formal definition. Originaly the term meant logic-free execution of what would otherwise be command-line operations. Later, shells became capable of logic, so that definition wandered to include any run-time interpreted, high-level code which used existing programs t
Re:Gotta love FOSS (Score:2)
5) offerd high paying development job due to portfolio
6) profit
From a Free Software Developer (Score:3, Insightful)
I tried to use freely available software to create my program, but I didn't want have to install Perl on all the machines. So, I used a IndigoStar's Perl2Exe to convert the script and some dependent
Re:From a Free Software Developer (Score:1)
Re:From a Free Software Developer (Score:2)
Re:From a Free Software Developer (Score:1)
Re:From a Free Software Developer (Score:2)
Re:From a Free Software Developer (Score:2)