Slash Boxes
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)

  (email not shown publicly)

Journal of autrijus (1505)

Saturday April 23, 2005
05:59 PM

Day 82: 6.2.1 released!

[ #24342 ]
I am happy to announce the availability of Pugs 6.2.1 on CPAN, with totally rewritten Context and Type code, a new OO core, call-by-values bindings, as well as a huge number of other improvements and fixes.

SIZE = 732656
SHA1 = eba45bf9c2ddbe4d207ee32b5f90ae2c30cd6b48

Thanks to everyone who have tried out 6.2.0 and contributed helpful suggestions; 6.2.1 is, I hope, a much more stable release for people who are writing real-world programs in it.

Again, my utmost gratitude to all our lambdacamels for making this release possible and enjoyable.


Changes for 6.2.1 - April 24, 2005

Pugs Internals

  • Unification of the quoting code, most quoting constructs now works:
    • <<>> now works
    • Regular expressions are parsed as qq//, but without backslash protection
    • Hash subscripts using <> or <<>> are parsed as general quotations
    • This means interpolation, etc. is done just like q:w or qq:ww
    • $<delim> not interpolate in quoting constructs
    • $), $], $# and $<ws> do not interpolate in rx:P5// constructs
  • Assigning a List into a Scalar now vivifies it into an Array
  • Assigning to pairs now works as expected
  • Autoextracted $_ is now rw by default
  • Better handling for size extensions and exists() for negative indices
  • Bindings implemented for multiple variables
  • Experimental support for eval_haskell() builtin
  • First stab at a lexical $*CWD variable
  • Index in slices now defaults to List: @a[func_returns_array()] now works
  • Initialize readline properly in interactive shell
  • Junctive types in subroutine signatures sub foo (Str|Array)
  • New builtins: >>~<<, kill(), splice, readdir() (list context only)
  • Pairs are now always objects and never values
  • Passing too many slurpy arguments is now an exception
  • Regexps now support :P5 and :Perl5 as well as :perl5
  • Storing into negative array elements now works
  • The Any parameter type no longer inhibits juctive autothreading
  • Variables in rvalue context no longer returns its references
  • %h<> now acts just like %h{} in both lhs and rhs
  • %h<x> now mean %h{'x'} instead of %h{'x',}
  • 'key' => val now works as named param just like key => val did
  • (sub {3} | sub {2})() implemented
  • :P5 flags now work as :P5<imsgx> and :i :g works too
  • :l filename no longer needs double quotes in the Shell
  • <> (list quoting) is now always in list context
  • is rw and is copy implemented in full
  • list() now actually imposes list context
  • want() has been implemented, returning a simple string

Tests, Examples and Documentations

  • Many new tests and cleanup of older tests, we are now at 4500+ tests
    • removed all usages of todo_* functions since the are now deprecated
  • Added isnt(), unlike(), skip_rest, throws_ok functions to
  • Added some Perl 6 related talks in docs/talks
  • Added the make smoke target to Makefile
  • Additions and improvements to the util/ scripts
  • Improvements to examples/network and added README file
  • Improvments to the util/ script
  • Major refactoring of the module (see ext/Test/ChangeLog for details)
  • Memory game, first web application written in Perl 6
  • New Perl 6 tutorial generator ported to Pugs in examples/tutorial_gen/
  • New naive baysian text classifier add in examples/naive_bayesian
  • New quote generator script in examples/motd
  • Params are now loaded on-demand in to take advantage of encoding
  • Several new additions to the Perl 6 Cookbook
  • Svn graphing script added to util/
  • Test smoke scripts converted to use Test::Tap::Model
  • The fp.p6 file has been broken into seperate files in examples/fp/
  • UTF-8 URL decoding added to

Bug Fixes

  • Accessing @array[1000] (without setting it) no longer extends @array
  • Code blocks as subroutine arguments now results in correct arity
  • Code objects now returns the correct subtypes
  • Comma is no longer flattened as arguments for infix and postfix functions
  • Corrected chmod prototype
  • Fixed infinite bug when evaluating +((1|2).values)
  • Fixed passing references into bound variables in subroutines
  • Fixed segfault with :r in interactive shell
  • Hyper operators now extends to the longer, not shorter, lists
  • Inf/NaN handling for ** now works
  • Manpage for Perl6::Pugs now generated correctly
  • RValues at the right hand of array assignment are flattened to prevent loops
  • Restore %h<str> = want() to impose string context on rhs
  • Setting $*CWD to invalid directory is no longer fatal
  • Slurpy params now applies *-flattening to its arguments
  • $x = 1|2; $x = 3 no longer treats 1|2 as a constant
  • %h<a> or %h{'a'} no longer eats trailing spaces interpolated strings
  • (1,(2,3)) in scalar context is now [1,[2,3]]
  • ** no longer truncates the exponent to integer
  • = now assigns correct slurpy context to rhs
  • =cut without a newline at EOF is now parsed correctly
  • return() if 1 now works correctly
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.