Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

autrijus (1505)

autrijus
  (email not shown publicly)
http://pugs.blogs.com/

Journal of autrijus (1505)

Wednesday June 01, 2005
11:11 PM

Day 119/120: Pugs 6.2.6!

[ #24992 ]
I'm happy to announce Pugs 6.2.6, the first release uploaded by cpan-upload.p6, powered by Pugs's newfound capability to use CPAN modules:

Perl6-Pugs-6.2.6.tar.gz
SIZE = 1083009
SHA1 = a85374c384eb11baa2ebd8d971f2ccbd8cec760f

Thanks to all lambdacamels for bearing with me during this much delayed release. See you next week in Vienna! :-)

Changes for 6.2.6 (r4318) - June 2, 2005

Pugs Internals

  • Pugs can now embed Perl 5 and use CPAN modules
    • Perl 5 objects, classes and functions are understood by Pugs
    • Pugs objects, classes and functions are understood by Perl 5
    • These types can also be used in round-trip callbacks
  • All user-defined classes now inherit from "Object"
  • Bare blocks now belongs to the Bare type; pointy subs are still Block
  • Class methods: My::Class.foo()
  • Class objects are initialised from the default class tree
  • Exclusive-range operators: ^.., ..^ and ^..^
  • Experimental compiler backend Pugs.Compile.Pugs2 (not yet working)
  • Experimental &code.body support for reified ASTs
  • Experimental embed API in src/perl5/pugsembed.h
  • Fully qualified subroutine names are now parsed
  • More core modules refactored for improved compilation speed and readability
  • Multi-invocant calls like foo($x, $y: $z) are no longer legal
  • New builtins: evalfile, nothing, getc
  • Parameterless bare blocks now get an implicit $_ by default
  • Parameterless pointy blocks no longer get a default parameter list
  • Parrot compilation backend now handles qualified subroutine names
  • Pugs now has a Safe mode, enable by the PUGS_SAFEMODE environment variable
  • Stub implementation for .does as an alias of .isa (no Roles yet)
  • Unix only builtins: opendir, readdir, rewinddir, closedir
  • $str.split(/rule/) and $str.split($delim)
  • &infix<=> can now be used as the assignment operator
  • Prelude.pm added to src/perl6 to implement S29 builtins in Perl 6
  • SUPER::, BUILDALL and DESTROYALL
  • is export now works as specified
  • loop {...} while, loop {...} until
  • map and reduce can now take n-ary functions.
  • when .does(Foo), when $_.does(Foo) and when Foo

Bundled Modules

  • Many more code sketches and documentation added to Perl-MetaModel
  • New Benchmark module added
  • CGI has been improved:
    • Now has: escapeHTML, unescapeHTML, redirect
    • Supports more HTTP headers in header
    • New module CGI::Util added
  • New Date module added
  • New Text::Glob module added
  • New libwww-perl distribution added
    • LWP-Simple now moved here
    • HTTP::Headers, HTTP::Message modules added
  • Test::Builder is now dangerously close to completely working
  • fp now exports &identity instead of &id to avoid clash with $obj.id
  • use lib 'path'; now works

Tests, Examples and Documentations

  • Some new test and several tests refactored, we now have 7200+ tests
  • Pugs Apocryphon 2 improved and edited in docs/02Internals.pod
  • Many improvements to util/perl6.vim to handle new features
  • More Haddock documentation added to the Haskell source
  • New IRC bot evalbot added to examples/network
  • New JAPH for Italian Perl Workshop added in examples/japh
  • Perl 6 port of Perl Power Tools begun in examples/ppt
  • Some new additions and cleanup of the cookbook
  • examples/network/screen-nodestatus.p6 added to monitor hosts in GNU screen

Bug Fixes

  • Hyper-reduction prefix operators such as [+]<< are now parsed
  • Single-character class names were not parsed correctly
  • Stringifying a Rule no longer throws an uncatchable exception
  • Use of undeclared types in signatures no longer breaks MMD
  • (1 => 2 ?? 3 :: 4) now always constructs a pair
  • Foo.bar() now dispatch to &Foo::bar instead of to &Class::bar
  • Foo.isa(Foo) no longer means Class.isa(foo)
  • pugs -MFoo now means use Foo not require Foo
  • readline() now reads utf-8
  • times now really works on Win32
  • when .isa(Foo) is no longer parsed as when $_ ~~ .isa(Foo) now
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.