r27680 - docs/Perl6/Spec

2009-07-23 Thread pugs-commits
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

2009-07-23 Thread TSa

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")

2009-07-23 Thread 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 .

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-07-23 Thread François Perrad
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"))

2009-07-23 Thread Timothy S. Nelson

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

2009-07-23 Thread pugs-commits
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

2009-07-23 Thread pugs-commits
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?) {...}
 }