Re: perl6 spec tests results ?

2012-08-31 Thread Carey Tilden
On Tue, Aug 28, 2012 at 2:01 PM, Moritz Lenz mor...@faui2k3.org wrote:

 Hi,

 On 08/28/2012 10:09 PM, Marc Chantreux wrote:
  i'm writing an article on Perl6 and i would like some facts to reassure
  early adopters. according to the test suite and the will of Perl6
  implentors, what proportion (in %) of Perl6 can be concidered as stable?

 That's a hard question to answer, because I don't know how to quantify
 language features. Counting them is very difficult, because there are
 small and large features, and which feature is what really depends
 on your point of view.

  what are the parts that are not ? any link ?

 I've tried to come up with some sort of stability rating for the specs,
 and this is as far as I got: https://gist.github.com/2346494

I like that a lot.  Any chance such a rating system could be
integrated into the synopses?  Or would that be too contentious?

Carey


[perl #114684] [BUG] Return type mismatch should return Failure, not throw exception

2012-08-31 Thread via RT
# New Ticket Created by  Patrick R. Michaud 
# Please include the string:  [perl #114684]
# in the subject line of all future correspondence about this issue. 
# URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=114684 


   19:34 pmichaud r:  sub abc() returns Int { my $r = 3.5; $r  };  my $x = 
abc();  say 'alive';
   19:34 p6eval rakudo 231137: OUTPUT«Type check failed for return value; 
expected 'Int' but got 'Rat'␤  in sub abc at /tmp/P8uacuh4gB:1␤  in block  at 
/tmp/P8uacuh4gB:1␤␤»

According to S02:1363,  a return value not matching a constraint should
internally call Cfail, which means the above shouldn't die immediately.

jnthn++ notes that this may be a deviation from the way type constraints
are handled by other parts of the spec; thus the spec may want changing.
If so, we can file a spec issue for that; in the meantime I'm filing the
rakudobug so it doesn't get forgotten.

Pm


Rakudo Star 2012.08 released

2012-08-31 Thread Patrick R. Michaud
On behalf of the Rakudo and Perl 6 development teams, I'm happy to
announce the August 2012 release of Rakudo Star, a useful and
usable distribution of Perl 6.  The tarball for the August 2012
release is available from http://github.com/rakudo/star/downloads.
A Windows .MSI version of Rakudo Star is also being made available
in the downloads area.

In the Perl 6 world, we make a distinction between the language 
(Perl 6) and specific implementations of the language such as
Rakudo Perl.  This Star release includes release 2012.08 [0] of the
Rakudo Perl 6 compiler [1], version 4.6 of the Parrot Virtual
Machine [2], and various modules, documentation, and other
resources collected from the Perl 6 community.

Some of the new features added to this release include:

* Rakudo Star now includes a Perl 6 debugger!  The debugger allows
  single-stepping, setting breakpoints, variable inspection/modification, 
  regex debugging, and more!  Enter perl6-debug script.pl to run 
  a script in debugging mode.  Enter help from a debug prompt to
  see the available commands.

* Memory usage of the build stage has been reduced by 35% - 40%.  This
  makes it possible to build and compile Rakudo Star on machines with
  less memory (although 1.2GB may still be needed for some 64-bit
  environments).

* Variables prefixed by | or \ in signatures are now sigilless, per updates
  to the Perl 6 specification.

* Circularities in module loading are now detected.

* An improved inliner, allowing a wider range of routines to be inlined.

* Str.bytes and lcfirst have been removed.  The tclc builtin
  has been added.

* 'abs' is now a normal subroutine instead of a prefix operator.

* IO::File and IO::Dir have been removed.

* The integer argument to IO::Socket.recv is now interpreted as 
  a number of characters/codepoints.

This release also contains a range of bug fixes, improvements to error
reporting and better failure modes. More exceptions are thrown as typed
exceptions, and more meta-model errors have been fixed to properly
report line numbers.

The following features have been deprecated or modified from previous
releases due to changes in the Perl 6 specification, and are being removed
or changed as follows:

* Parameters preceded by a | or \ can no longer have a sigil.

* IO::Path.dir (which returns the directory part of the path) has been
  renamed to IO::Path.directory.  IO::Path.dir will be removed or
  re-purposed.

* The Str.ucfirst builtin is deprecated; it will be replaced by Str.tc.

* The (experimental) LAZY statement prefix will soon be removed.

* Leading whitespace in rules and under :sigspace will no longer be
  converted to .ws .  For existing regexes that expect this conversion,
  add a ? in front of leading whitespace to make it meta again.

* The ?-quantifier on captures in regexes currently binds the capture
  slot to a List containing either zero or one Match objects; i.e., it
  is equivalent to ** 0..1.  In the future, the ?-quantifier will
  bind the slot directly to a captured Match or to Nil.  Existing code
  can manage the transition by changing existing ?-quantifiers to
  use ** 0..1, which will continue to return a List of matches.

There are some key features of Perl 6 that Rakudo Star does not
yet handle appropriately, although they will appear in upcoming
releases.  Some of the not-quite-there features include:

  * macros
  * threads and concurrency
  * Unicode strings at levels other than codepoints
  * interactive readline that understands Unicode
  * non-blocking I/O
  * much of Synopsis 9

There is an online resource at http://perl6.org/compilers/features 
that lists the known implemented and missing features of Rakudo Star
2012.08 and other Perl 6 implementations.

In many places we've tried to make Rakudo smart enough to inform the
programmer that a given feature isn't implemented, but there are
many that we've missed.  Bug reports about missing and broken
features are welcomed at rakudo...@perl.org.

See http://perl6.org/ for links to much more information about 
Perl 6, including documentation, example code, tutorials, reference
materials, specification documents, and other supporting resources.
A draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf 
in the release tarball.

The development team thanks all of the contributors and sponsors
for making Rakudo Star possible.  If you would like to contribute,
see http://rakudo.org/how-to-help, ask on the perl6-compi...@perl.org
mailing list, or join us on IRC #perl6 on freenode.

[0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.08
[1] http://github.com/rakudo/rakudo
[2] http://parrot.org/