I am very happy to announce Pugs 6.0.12, with full support for
source code written in UTF-8, and Perl5-compatible regular
expression matching as rx:perl5//.

With this release out, I will divert some of my time on the
Compiler backend.  See http://use.perl.org/~autrijus/journal/23757
and tomorrow's journal for further details. :-)

[Changes for 6.0.12 - March 21, 2005]

Pugs Internals:

* We now require GHC 6.4 on Win32.
* Perl5-compatible regular expressions as rx:perl5/.../.
* Unicode identifiers now work across all platforms.
* Smartmatch ~~ now for regex.
* Capturing variables as $/.[], $0, $1, $2.
* Nested outward CALLER::CALLER::CALLER:: scopes.
* x=, xx= and Y=.
* => now autoquotes left hand barewords.
* ?? :: now parses correctly.
* New primitives: index(), rindex(), substr(), sort(), true().
* New primitives: lcfirst(), ucfirst(), lc(), uc(), split().
* New primitives: pick(), values(), nor().
* The interactive shell now preserves lexical variable declarations.
* String numification now uses the same lexing rule as numeric literals.
* Kludgy hack for &sub.goto() now works.
* :l in interactive shell for loading modules.
* More experimental shell commands like :i and !.
* Symbol table now contains Vals instead of Exps.

Tests, Examples and Documentations:

* Massive reorganization for t/ hierarchy; we have 2450 subtests now.
* Test coverage catalog utility in util/catalog_tests.pl.
* New p6ified CPAN modules: Algorithm::Dependency, File::Spec.
* Core documentations moved into ext/Pugs-Documentation/.
* Locale::KeyedText is made more perl6ish with subtypes.
* Test.pm has been massively refactored, and now has its own test suite.
* isa_ok(), eval_ok() and eval_is() in Test.pm.
* perlpodspec.kwid, describing POD document model and dialects. 
* perlkwidspec.kwid, specification for the Kwid dialect of POD.
* PA01.kwid, Kwid version of Pugs Apocryphon 1.
* Perl5-Kwid, Perl 5 implementation of the Kwid language.

Bug Fixes:

* Infix junction constructors no longer falltens its operands.
* Mutable variables are now properly pretty-printed.
* "pugscc" was broken on case-sensitive filesystems.
* last() no longer work as return() outside loops.
* Pugs could not install when perl5's sitelib path did not contain "perl".
* := binding did not preserve the lexical scope at the binding site.
* Hanoi.p6 was broken due to premature binding of subroutine parameters.
* "&sub.foo" no longer attempts to interpolate.

Thanks,
/Autrijus/

Attachment: pgpbpdWO3Ii92.pgp
Description: PGP signature

Reply via email to