Day 113: Pugs runs CPAN modules!!

autrijus on 2005-05-25T04:04:53

Earlier today, I've posted my Perl 6 (wishlist|todo list) as a survey. The responses were very constructive. My #1 wishlist item is apparently shared by many:

  • An improved Inline::Pugs so I can call Perl 5's DBI.pm from Perl 6 code, and manipulate Perl 6 objects from Perl 5.
So, wish help from clkao, we just did it in the last 3 hours. There's many rough edges that will be tested and fixed soon, but this already works:
use Digest::SHA1--perl5;

my $cxt = Digest::SHA1.new;
$cxt.add('Pugs!');

# This prints: 66db83c4c3953949a30563141f08a848c4202f7f
say $cxt.hexdigest;

My full wishlist, ordered by descending importance, is reproduced below:

  1. An improved Inline::Pugs so I can call Perl 5's DBI.pm from Perl 6 code, and manipulate Perl 6 objects from Perl 5.
  2. A fully working Perl 6 compilation backend to Parrot or C, so Perl 6 can run in a very competitive speed.
  3. A more stable core language definition, with both online and offline documentation.
  4. Unit tests for the language and the "core" modules/pragmas I'd use.
  5. A few really neat Perl 6 modules that simply can't be done in Perl 5. A robust Seaside/Halo implementation that makes Rails/Catalyst pale in comparison; a combinator library that can be used for formatting, parsing and template generation; et cetera.
  6. Shared introspection, threading and debugging support for Perl 5 and Perl 6, as offered by Ponie.
  7. A translator from Perl 5 code to Perl 6, to ease migration efforts.
  8. ...after those, a fully bootstrapped Perl 6 compiler written in Perl 6, and for Larry to call it Perl 6.0.0. :-)

I think I can be excused of not doing the usual summary today. :-)


as always

Juerd on 2005-05-25T09:12:26

Very, very impressive!

darn it

ajtaylor on 2005-05-25T21:07:48

Now you've got me interested in yet another application framework! And in a language I don't know yet. Just when I thought I could get away with not learning ruby/rails (because of Catalyst), now I have to go learn smalltalk. There goes another time sink... :-)

Thanks for the tip.

Debugging hooks!

mugwumpjism on 2005-05-26T02:58:45

Don't know why I didn't think of this before, but the thing I miss most about pugs is no -d. Yes, I know that you can use say at strategic places, and re-run the program, but I really like interactive debuggers. Maybe it was all that time spent with DOS debug pulling apart my old XT's BIOS and hack 8086 machine code, or the extensive use of gdb to debug my C++ programs at university. I've just always been a debugger person.