Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Perl Programming

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."
This discussion has been archived. No new comments can be posted.

Run Perl 6 Today: Pugs 6.0.11 released

Comments Filter:
  • by Anonymous Coward on Wednesday March 16, 2005 @08:09PM (#11959960)
    That's the problem, though. There's no such thing as "standard" tabs.
  • by Yobgod Ababua ( 68687 ) on Wednesday March 16, 2005 @08:27PM (#11960162)

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

  • by Prien715 ( 251944 ) <agnosticpope@nOSPaM.gmail.com> on Thursday March 17, 2005 @12:59AM (#11962209) Journal
    I created a small Win32 project in Perl for my previous job (which I still maintain on occasion) to help IT people manage groups of machines more effectively (by storing hardware/software/license key information in a central MySQL database using an extremely simple but powerful program. If anyone's interested, the project homepage is here [optimalprogramming.com]).

    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 .exes to a single stand-alone exe. I see that GHC has support for the same ability according to the article. I was curious what practical experience anyone had using it on the Win32 platform and how its feature set/compatibility compares to Perl2exe.
  • by autrijus ( 48596 ) on Friday March 18, 2005 @08:55AM (#11974328) Homepage
    Thank-you for your kind words and support... I really appreciate it. However, there is a few point I'd like to clarify:
    • Pugs and Parrot complement each other. Pugs is a parser, evaluator and eventually compiler of the Perl 6 language, and Parrot is a virtual machine for a compiler to target. As they are totally different things, the time taken to implement them could probably not be directly measured or compared.
    • Haskell is an excellent language to implement parsers and compilers. If I were to use Perl 5 to implement Pugs, it would take much more time and result in far more lines of code, which would probably hinder people's help -- it takes only a few hours to learn Haskell in order to hack Pugs, so I do not consider a major entry barrier.
    • That said, Perl 6 will become a much more language to write parsers and compilers in, so the eventual rewrite in Perl 6 should be much easier than implementing it in Perl 5.
    • The Perl 6 interpreter will not be recoded in Perl 6 -- the compiler will. :-)
  • by ahdeoz ( 714773 ) on Friday March 18, 2005 @03:41PM (#11978559)
    And when world communism is finally implemented for real, there will be no poor or hungry on unhappy or unhealthy and anything that doesn't accomplish all this isn't really communism.

Saliva causes cancer, but only if swallowed in small amounts over a long period of time. -- George Carlin

Working...