Re: [ANNOUNCE] Pugs 6.2.12 and v6.pm released! (reformatted)
在 2006/7/10 上午 10:37 時,Michael Goldshteyn 寫到: Unfortunatelly, those of us who use Perl under Windows / MSVC Compiler cannot use v6.pm, due to the fact that it has an indirect dependency on Devel::Caller which fails to work using that compiler combination (i.e., fails all tests after a build using its makefile and Visual Studio 2003 as the C compiler). Indeed it is known that Devel::Caller currently fails some tests under Perl 5.8 with ithreads enabled; its author, Richard Clamp, is looking into a solution. For the time being, as v6.pm does not use the parts of Devel::Caller that fails the tests, a simple "force install" should still get you a working v6-alpha. Thanks! Audrey PGP.sig Description: This is a digitally signed message part
Re: [ANNOUNCE] Pugs 6.2.12 and v6.pm released! (reformatted)
On Mon, Jul 10, 2006 at 09:37:24AM -0500, Michael Goldshteyn wrote: > "Audrey Tang" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] > > Unfortunatelly, those of us who use Perl under Windows / MSVC Compiler > cannot use v6.pm, due to the fact that it has an indirect dependency on > Devel::Caller which fails to work using that compiler combination (i.e., > fails all tests after a build using its makefile and Visual Studio 2003 as > the C compiler). Bummer. You could check out the Vanilla/Strawberry Perl effort at http://win32.perl.org/ -Scott -- Jonathan Scott Duff [EMAIL PROTECTED]
Re: [ANNOUNCE] Pugs 6.2.12 and v6.pm released! (reformatted)
"Audrey Tang" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] Unfortunatelly, those of us who use Perl under Windows / MSVC Compiler cannot use v6.pm, due to the fact that it has an indirect dependency on Devel::Caller which fails to work using that compiler combination (i.e., fails all tests after a build using its makefile and Visual Studio 2003 as the C compiler). Mike
[ANNOUNCE] Pugs 6.2.12 and v6.pm released! (reformatted)
(Mail.app totally scrambled the previous mail; sorry about this re- post.) I'm glad to announce that Pugs 6.2.12 is now available from CPAN: http://search.cpan.org/dist/Perl6-Pugs-6.2.12/ SIZE: 2693459 SHA1: c9731da8e597591ca7e279766481ce0bece8cfa4 This release features much better performance: Building Pugs is 3 times faster; compiling Perl 6 programs becomes 10 times faster; running Perl 6 programs is now up to 2 times faster. We also support various Perl 6 syntax changes since the last release, as well as exciting new features, such as atomic code blocks with Software Transactional Memory (STM) semantics. See the full change log for additional details of what's new in 6.2.12: http://pugs.blogs.com/pugs/2006/07/release_announc.html#more 6.2.12 marks the last release with the 6.0.x abstract syntax tree (AST) to represent Perl 6 programs. We are currently switching to a new AST that supports the new Signature/Capture calling convention, multi-dispatch with constraints, and a full Meta-Object Protocol (MOP). We are developing this new runtime simultaneously as Haskell modules and Perl 5 CPAN modules, to ensure that they have identical semantics. To this end, I'm happy to announce that "v6.pm", a prototype Perl 6 Compiler implemented entirely in Perl 5, is also available from CPAN: http://search.cpan.org/dist/v6-pugs/ All Perl 5 components are released as separate CPAN modules. One can use them as pure-perl5 modules, to get fully-conformant Perl 6 features without the need of using Perl 6 syntax provided by "v6.pm". (These CPAN modules maintain their own release cycles; we will release more components on CPAN as they are abstracted out from the Pugs runtime.) The .meta API for Object/Class/Method reflection is supported by the "Moose" and "Class::MOP" modules: http://search.cpan.org/dist/Moose/ http://search.cpan.org/dist/Class-MOP/ The compiler and runtime for Perl 6 Grammars (top-down) and operator precedence (bottom-up) is available as the "Pugs::Gramamr::Rule" and "Pugs::Grammar::Precedence" modules: http://search.cpan.org/dist/Pugs-Compiler-Rule/ The calling convention with named, optional, and slurpy arguemnts is supported by the "Data::Bind" module: http://search.cpan.org/dist/Data-Bind/ The precompile-Perl6-to-Perl5 mechanism is based on "Module::Compile", a safe and composable replacement to source filtering: http://search.cpan.org/dist/Module-Compile/ http://search.cpan.org/dist/Filter-Simple-Compile/ In summary: Perl 5 is now a first-class virtual machine for Pugs, and in this journey toward self-hosting, we will share as much common structure as possible between the Perl 5, Haskell, and the Parrot runtimes. With a prototype end-to-end implementation written in pure Perl 5, we are entering the "Hack, Hack, Hack" phase of the (imaginary) Perl 6 timeline from nearly one year ago: http://pugscode.org/images/timeline.png I'd like to thank Flavio Glock for initiating and leading the v6.pm effort, and all lambdacamel and lambdamoose on irc.freenode.net #perl6 for their relentless enthusiasm in getting Perl 6 deployed to the Real World. See you on IRC! Audrey PGP.sig Description: This is a digitally signed message part
[ANNOUNCE] Pugs 6.2.12 and v6.pm released!
Changes for 6.2.12 (r10930) - June 26, 2006 Licensing Changes The src/ tree and the pugs executable are now released under the permissive MIT license, in addition to Artistic and GPL A new third-party/ tree to hold bundled prerequisites originated from non-Pugs projects New Perl 6 modules ext/Relation/ - Relation type for Perl 6 (incomplete) ext/Getopt-Std/ - Simple command-line parsing Updated modules ext/Locale-KeyedText/ - Added export_as_hash() methods ext/Rosetta/: Multiple additions and rewrites Merged ext/Rosetta-Engine-Native/ in, renamed to ::Example Now officially incorporates "The Third Manifesto" Rewrote half of Language.pod Updated the DESCRIPTION and class list of Rosetta.pm Added new core module Rosetta::Shell and example shell.pl Added new documentation file Rosetta::SeeAlso Various other documentation additions and edits ext/Test/: Avoid the use of junctions to make Parrot/Perl6's life easier Perl 6 on Perl 5 (under misc/pX/Common/) Data-Bind - Implement Perl 6's calling/binding convention on Perl 5 Inline-Parrot - a C version of Inline-Parrot - uses NCI for data exchange Module-Compile - precompile Perl 5 modules transparently P5_to_P6_Translation - beginning of a Perl 5.9 MAD tree parser and translater to Perl 6 Pugs-Compiler-Perl6 - Compiler for Perl 6 (implements 'use v6-pugs'):use v6-pugs; say "Perl 6"; use v5; print "Perl 5" Pugs-Compiler-Precedence - an operator precedence parser, built around Parse::Yapp Pugs-Compiler-Rule - Compiler for Perl 6 Rules Pugs-Grammar-MiniPerl6 - translate Perl 6 rules into haskell Parsec Pugs-Grammar-Perl6 - a Perl 6 parser - parses Test.pm! lrep - a bootstrapped, very minimal Perl 6 compiler written in Perl 6 re-override - Swaps in an alternate regexp engine:./perl -we 'use re::override-perl6; print "a" =~ /**{1}/'; Test, Examples and Documentations Restored this ChangeLog's entries for v6.0.0 thru v6.0.8, which were truncated in r8916, apparently from gnome's copy-paste buffer limit docs/Perl6/Doc hierarchy, installable Perl6::Doc docs/Perl6/FAQ/Capture.pod - FAQ on the new Signature/Capture convention docs/Perl6/FAQ/FUD.pod - Fears, Uncertainties and Doubts about Perl 6 docs/talks/p6myths2.html: Juerd's talk "Perl 6 Myths" docs/talks/peek.spork: Gaal's OSDC talk "A Peek into Pugs Internals" examples/concurrency/: Added sample usage on Software Transactional Memory examples/qotw/: Added the QOTW 8 Expert solution examples/rules/: Added a sample BASIC parser src/Pugs/Parser - Perl 6 grammars for Capture.pg and Signature.pg util/cperl-mode.el - Emacs mode for Perl 6 Feature Changes Pugs now builds in a single pass Removed support for GHC 6.4.0 and added support for GHC 6.5 Removed support for Parrot 0.4.4 or below and added support for Parrot 0.4.5 &?SUB is replaced with &?ROUTINE; $?SUBNAME is replaced with &?ROUTINE.name Arguments beginning in parens, such as f ('x')=>1 , is now always positional Array and hash sigilled match variables, such as @0 , @ and % Assignment with non-obviously-scalar left-hand side is now in list context: @a = 1,2,3 now parses as @a = (1,2,3) Broke down Parser and AST.Internals to smaller files so rebuilds are faster Builtin functions no longer defaults to $_ ; write .ord instead of ord Compile Prelude.pm and Test.pm , to YAML bytecode for faster loading Declarators are now lexical: { $x++ unless my $x } increments $OUTER::x Declarators can now occur at _expression_ position: my $x + my $y works Declarators no longer take qualified names: our $Foo::x is invalid Experimental support for Software Transactional Memory and atomic blocks Hash initializers now revert to bias-to-left behavior as in Perl 5 In {X => 1, X => 2} , the value of X is 2, not 1 If a block ends on a line by itself, an implicit ; is assumed if possible In the interactive shell, :d and :D (dump parse tree) now continues the parse from the current environment; use :reset to reset the environment More helpful diagnostics when calling unsafe builtins under safe mode Multiline support in the interactive shell reports unrecoverable parsefails Names of named arguments must always be a bareword now, such as:f(name=>1); f(:name(1)); New AST-dumping backends: Parse-Pretty , Parse-YAML , Parse-HsYAML Parse-time binding ::= is now fully supported Proper desugaring of .= expressions, such as @a .= map(&sqrt) Prototype objects: my Dog $fifo now assigns ::Foo into $fido Removed support for require ::Class::Literal Removed support for rx_ macros in Prelude for user-defined rule handlers Quotelike constructs such as rx and qq no longer takes `#` as delimiter Support for Unicode bracket characters for quotelike operators Support for bracketed comments: #(...), #<<< ... >>>, etc Support for controlled backtracking and whitespace sensitivity via distinct token/regex/rule delecarators Support for environmental variables such as $ENV::PWD and $+PATH Support for