I am glad to announce Pugs 6.2.9, released during Ingy's OSCON talk:
http://pugscode.org/dist/Perl6-Pugs-6.2.9.tar.gz
SIZE = 1439642
SHA1 = efd32419dcddba596044a42564936888a28b3c69
Following last month's plan, this release features a Perl6/PIL to javascript
code generator, written in Perl 5, currently passing 64% of the test suite.
We also see the beginning of a code generator from PIL to perl5, and a
self-representing Perl 6 object model prototype. The new PIL design and
runcore is also progressing nicely, which should give a more robust
specification to Perl 6's compile time and runtime semantics.
A live CD is available as usual, courtesy of Ingo Blechschmidt:
http://linide.sf.net/pugs-livecd-6.2.9.iso
Ingy's slides are under the Pugs tree as docs/talks/oscon-apocalypse.spork and online at http://www.kwiki.org/apocalypse/start.html in HTML.
All in all, it's a lot of fun. Check out the two movies we made for the
OSCON talk as well:
Change the ".mp4" to ".swf"
or ".wmv"
for alternate video formats.
Enjoy!
/Autrijus/
Changes for 6.2.9 (r6050) - Aug 4, 2005
Pugs Internals
- New build system in inc/PugsBuild
- Configuration preferences are stored in config.yml
- Presists across builds, overridable via %*ENV<PUGS_BUILD_OPTS>
- $CALLER::_ is now again usable in defaults.
- JavaScript Backend
- Actively progressing in perl5/PIL2JS
- Passes 64.00% of the Pugs test suite
- Perl5 Backend
- Begun in perl5/PIL-Run
- Primitive interactive shell as crude_repl.pl
- Object MetaModel
- Perl 5 prototype is mostly self-hosting
- New C3-based method dispatch algorithm
- JavaScript version partially completed
- Java version begun (in very early stages)
- Pugs Intermediate Language
- New runcore design begun in src/PIL
- QuickCheck-based specification tests added
- Precompilation for arbitrary modules (not enabled by default)
Bundled Modules
- New Perl 6 modules:
- MIME::Base64
- Recurrence
- Span
- Additions to libwww-perl:
- HTTP::Cookies
- HTTP::Query
- HTTP::Request::CGI
- HTTP::Status
- URI::Escape
Additions to DateTime:
Test, Examples and Documentations
- Many new tests and test refactoring, we now have 8100+ tests
- A number of additions to examples/cookbook
- Beginning of Rule-based grammars for Perl6 in modules/Grammars
- SVG generation examples in examples/graphics
- STATUS document added to the top level to keep track of current progress
- docs/notes/plan expanded and added macro-related issues
- examples/algorithms/Newton.pm implements the newton method with currying
- examples/network/evalbot.p6 gets safe &print primitive
- examples/network/seenbot.p6 gets pretty duration printing
- examples/network/svnbot.p6 supports branch information
- examples/ppt/cat.p6 added to Perl Power Tools
- iblech's LUGA talk as Anatomie_eines_Compilers_am_Beispiel_von_Pugs.latex
- ingy's OSCON talk as oscon-apocalypse.spork
Bug Fixes
- Fix pair binding for functions expecting pairs as arguments
- Global destruction is now guaranteed upon program exit
- Parameter's defaults are now evaluated in its original lexical scope
- Parser for hash subscripting was globbing whitespaces after it
- Primitive listops now handles Pairs as regular arguments
- Various +$foos in sub signatures changed to ?$foo in Test.pm
- %h<x>> was misparsed as %h{'x>'}
- -Inf now stringifies as -Inf, not -Infinity
- .end and .elems no longer work as scalar methods
- /a/ ~~ "a" now works the same way as "a" ~~ /a/