r27680 - docs/Perl6/Spec
Author: masak Date: 2009-07-23 11:11:33 +0200 (Thu, 23 Jul 2009) New Revision: 27680 Modified: docs/Perl6/Spec/S12-objects.pod Log: [S12] added missing comma We generally cannot have two terms in a row, and that goes for the inside of hash arguments to a handles trait, too. Modified: docs/Perl6/Spec/S12-objects.pod === --- docs/Perl6/Spec/S12-objects.pod 2009-07-23 03:53:05 UTC (rev 27679) +++ docs/Perl6/Spec/S12-objects.pod 2009-07-23 09:11:33 UTC (rev 27680) @@ -1319,7 +1319,7 @@ other class. If you put a hash, each key/value pair is treated as such a mapping. Such mappings are not considered wildcards. -has $.fur handles { :shakefur :scratch }; +has $.fur handles { :shakefur, :scratch }; You I do a wildcard renaming, but not with pairs. Instead do smartmatch with a substitution:
Re: Parameter binding
HaloO, Moritz Lenz wrote: I came to this 12:51 <@moritz_> rakudo: my $x = 3; say $x, ' ', ++$x; 12:51 < p6eval> rakudo 7b81c0: OUTPUT«4 4» 12:51 <@moritz_> rakudo: my $x = 3; say $x, ' ', $x++; 12:51 < p6eval> rakudo 7b81c0: OUTPUT«4 3» I would expect that to say '3 4' and '3 3' respectively. This looks very counter intuitive, because it looks like the arguments are evaluated right-to-left, not left-to-right. (It just looks like it, it doesn't actually happen this way; using say(~$x, ) shows that). Then again it might be correct, because the first positional parameter of say() (which is slurpy, but doesn't matter here) is bound to $x, and $x changes before say() is actually called. I would opt for a strict left to right evaluation of expressions irrespective of precedence and associativity of operators. E.g. my $x = 2; $x++ ** $x; should evaluate to 8 not 4. And $x ** $x++ should be 4 not 9. Also expressions like $a + $b * $c should evaluate $a first then $b and then $c. Is it right that the parameter binds to the variable ($x), not to the number (3) (which would be immutable)? I'm sure that in the presence of "is rw" the bahviour cited above would be correct, but for 'is copy' or the default I don't see a reason for that. Hmm, it seems to be the case that the binding is defined to be a readonly binding to the variable. I consider this a bad thing. We should have my $x = 1; foo($x++,$x,$x++); to call foo(1,2,2) and not foo(1,3,2) or even foo(2,3,1). The capture creation for the foo call should be strictly left to right and capturing the value at that moment. Regards, TSa. -- "The unavoidable price of reliability is simplicity" -- C.A.R. Hoare "Simplicity does not precede complexity, but follows it." -- A.J. Perlis 1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
Announce: Rakudo Perl 6 development release #19 ("Chicago")
On behalf of the Rakudo development team, I'm pleased to announce the July 2009 development release of Rakudo Perl #19 "Chicago". Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine [1]. The tarball for the July 2009 release is available from http://github.com/rakudo/rakudo/downloads . Due to the continued rapid pace of Rakudo development and the frequent addition of new Perl 6 features and bugfixes, we continue to recommend that people wanting to use or work with Rakudo obtain the latest source directly from the main repository at github. More details are available at http://rakudo.org/how-to-get-rakudo . Rakudo Perl follows a monthly release cycle, with each release code named after a Perl Mongers group. The July 2009 release is named "Chicago", as chosen by Perl 6 contributor Kyle Hasselbacher. Kyle has been doing a truly outstanding job of turning open tickets in the RT queues into tests for the spectest suite. Chicago.pm has been the host for the 2006 and 2008 YAPC::NA conferences and sponsored Perl 6 hackathons at each conference. In this release of Rakudo Perl, we've focused our efforts on quality improvements and bootstrapping. We now have operators and additional builtin functions written in Perl 6. Some of the specific major changes and improvements in this release include: * Rakudo is now passing 11,876 spectests, an increase of 340 passing tests since the June 2009 release. With this release Rakudo is now passing 68% of the available spectest suite. * Operators can now be written in Perl 6, and this has been done for the series operator '...', 'eqv' and the 'leg' operator. * The multi dispatcher has been refactored extensively, and now handles many more edge cases correctly. * User defined traits now follow the specification much more closely; some built-in traits are written in Perl 6. * Improved testing: Null PMC Access exceptions are never considered "successful" by the test suite, even if the test was expecting a (different) exception to be thrown. * Improved introspection: you can now get a list of roles composed into a class, and a list of attributes. Since the Perl 6 specification is still in flux, some deprecated features will be removed from Rakudo. Prominently among those are: * '=$handle' is deprecated in favor of '$handle.get' (one line) and '$handle.lines' (all lines). * 'int $obj' is deprecated in favor of '$obj.Int'. The development team thanks all of our contributors and sponsors for making Rakudo Perl possible. If you would like to contribute, see http://rakudo.org/how-to-help , ask on the perl6-compi...@perl.org mailing list, or ask on IRC #perl6 on freenode. The next release of Rakudo (#20) is scheduled for August 20, 2009. A list of the other planned release dates and codenames for 2009 is available in the "docs/release_guide.pod" file. In general, Rakudo development releases are scheduled to occur two days after each Parrot monthly release. Parrot releases the third Tuesday of each month. Have fun! References: [1] Parrot, http://parrot.org/
Re: Announce: Rakudo Perl 6 development release #19 ("Chicago")
2009/7/23 Moritz Lenz : > On behalf of the Rakudo development team, I'm pleased to announce > the July 2009 development release of Rakudo Perl #19 "Chicago". > Rakudo is an implementation of Perl 6 on the Parrot Virtual Machine [1]. > The tarball for the July 2009 release is available from > http://github.com/rakudo/rakudo/downloads . > As usual, binaries for Windows are available on http://parrotwin32.sourceforge.net/ , including the latest Parrot release and many other languages. > Due to the continued rapid pace of Rakudo development and the > frequent addition of new Perl 6 features and bugfixes, we continue > to recommend that people wanting to use or work with Rakudo obtain > the latest source directly from the main repository at github. > More details are available at http://rakudo.org/how-to-get-rakudo . > > Rakudo Perl follows a monthly release cycle, with each release code named > after a Perl Mongers group. The July 2009 release is named "Chicago", > as chosen by Perl 6 contributor Kyle Hasselbacher. Kyle has been > doing a truly outstanding job of turning open tickets in the RT queues > into tests for the spectest suite. Chicago.pm has been the host for > the 2006 and 2008 YAPC::NA conferences and sponsored Perl 6 hackathons > at each conference. > > In this release of Rakudo Perl, we've focused our efforts on quality > improvements and bootstrapping. We now have operators and additional > builtin functions written in Perl 6. > > Some of the specific major changes and improvements in this release include: > > * Rakudo is now passing 11,876 spectests, an increase of 340 > passing tests since the June 2009 release. With this release > Rakudo is now passing 68% of the available spectest suite. > > * Operators can now be written in Perl 6, and this has been done for the > series operator '...', 'eqv' and the 'leg' operator. > > * The multi dispatcher has been refactored extensively, and now handles many > more edge cases correctly. > > * User defined traits now follow the specification much more closely; some > built-in traits are written in Perl 6. > > * Improved testing: Null PMC Access exceptions are never considered > "successful" by the test suite, even if the test was expecting a > (different) exception to be thrown. > > * Improved introspection: you can now get a list of roles composed into a > class, and a list of attributes. > > Since the Perl 6 specification is still in flux, some deprecated features > will be removed from Rakudo. Prominently among those are: > > * '=$handle' is deprecated in favor of '$handle.get' (one line) > and '$handle.lines' (all lines). > > * 'int $obj' is deprecated in favor of '$obj.Int'. > > The development team thanks all of our contributors and sponsors for > making Rakudo Perl possible. If you would like to contribute, > see http://rakudo.org/how-to-help , ask on the perl6-compi...@perl.org > mailing list, or ask on IRC #perl6 on freenode. > > The next release of Rakudo (#20) is scheduled for August 20, 2009. > A list of the other planned release dates and codenames for 2009 is > available in the "docs/release_guide.pod" file. In general, Rakudo > development releases are scheduled to occur two days after each > Parrot monthly release. Parrot releases the third Tuesday of each month. > > Have fun! > > References: > [1] Parrot, http://parrot.org/ > ___ > http://lists.parrot.org/mailman/listinfo/parrot-dev > >
Building on an installed Parrot (was: Re: Announce: Rakudo Perl 6 development release #19 ("Chicago"))
On Thu, 23 Jul 2009, Reini Urban wrote: Following up on the parrot-1.4.0 release check on cygwin the release errors are still not being touched. rakudo is still not being able to be built without a parrot build_dir. Building with installed parrot is unsupported, which means creating a package which is reproducible is impossible. Distros which do not have the policy to be reproducible to create binary packages from the src might have more luck. Sounds like you're just the man we need. There's a ticket that is specifically dedicated to "Update configure script and makefiles for installed Parrot". http://rt.perl.org/rt3/Ticket/Display.html?id=63360 The latest patch (provided by me, but based on one by pmichaud) works for me on Fedora 10. pmichaud's patch is guaranteed *not* to work on Windows. I made the obvious changes, but we need some testing from a Windows person. I know there are a number of other problems on Windows (have you opened a ticket(s) for them), but I'd ask you to keep them out of this ticket unless they're related to the changes needed to build on an installed Parrot. Also, the patch I provided is against HEAD. $ git rev-parse HEAD 7b81c0590b4c371ba32f9998a35be5c48d6039e3 I'm informed that the command above tells me the relevant revision ID. Thanks, - | Name: Tim Nelson | Because the Creator is,| | E-mail: wayl...@wayland.id.au| I am | - BEGIN GEEK CODE BLOCK Version 3.12 GCS d+++ s+: a- C++$ U+++$ P+++$ L+++ E- W+ N+ w--- V- PE(+) Y+>++ PGP->+++ R(+) !tv b++ DI D G+ e++> h! y- -END GEEK CODE BLOCK-
r27692 - docs/Perl6/Spec/S32-setting-library
Author: wayland Date: 2009-07-24 04:15:04 +0200 (Fri, 24 Jul 2009) New Revision: 27692 Modified: docs/Perl6/Spec/S32-setting-library/Abstraction.pod Log: [S32/Abstraction]: Documented .parse and .parsefile methods on Grammar. Note that the method signatures may be wrong. pmichaud++ for pointing these functions out. Modified: docs/Perl6/Spec/S32-setting-library/Abstraction.pod === --- docs/Perl6/Spec/S32-setting-library/Abstraction.pod 2009-07-23 21:23:32 UTC (rev 27691) +++ docs/Perl6/Spec/S32-setting-library/Abstraction.pod 2009-07-24 02:15:04 UTC (rev 27692) @@ -35,12 +35,19 @@ class Role does Abstraction {...} -class Grammar does Abstraction {...} - class Module does Abstraction {...} class Package does Abstraction {...} +=head2 Grammar + + +class Grammar does Abstraction { +method parse(Str $text) {...} +method parsefile(Str $filename) {...} +} + + =head1 Additions Please post errors and feedback to perl6-language. If you are making
r27695 - docs/Perl6/Spec/S32-setting-library
Author: wayland Date: 2009-07-24 07:00:41 +0200 (Fri, 24 Jul 2009) New Revision: 27695 Modified: docs/Perl6/Spec/S32-setting-library/Abstraction.pod Log: [S32/Abstraction] Added "action" optional parameter to parse and parsefile. Modified: docs/Perl6/Spec/S32-setting-library/Abstraction.pod === --- docs/Perl6/Spec/S32-setting-library/Abstraction.pod 2009-07-24 02:48:53 UTC (rev 27694) +++ docs/Perl6/Spec/S32-setting-library/Abstraction.pod 2009-07-24 05:00:41 UTC (rev 27695) @@ -43,8 +43,8 @@ class Grammar does Abstraction { -method parse(Str $text) {...} -method parsefile(Str $filename) {...} +method parse(Str $text, $action?) {...} +method parsefile(Str $filename, $action?) {...} }