Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Draft release announcement for 2015.02
- Loading branch information
Showing
1 changed file
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,102 @@ | ||
| # Announce: Rakudo Star Release 2015.02 | ||
|
|
||
| ## A useful, usable, "early adopter" distribution of Perl 6 | ||
|
|
||
| On behalf of the Rakudo and Perl 6 development teams, I'm happy to | ||
| announce the January 2015 release of "Rakudo Star", a useful and usable | ||
| distribution of Perl 6. The tarball for the January 2015 release is | ||
| available from <http://rakudo.org/downloads/star/>. | ||
|
|
||
| This Rakudo Star release comes with support for the MoarVM | ||
| backend (all module tests pass on supported platforms) along with | ||
| experimental support for the JVM backend (some module tests fail). | ||
| Three shipped modules are known to fail on Parrot (zavolaj (NativeCall), | ||
| jsonrpc and doc) | ||
|
|
||
| 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 2015.02] of the | ||
| [Rakudo Perl 6 compiler], version 6.10.0 of the [Parrot Virtual | ||
| Machine], version 2015.02 of [MoarVM], plus various modules, | ||
| documentation, and other resources collected from the Perl 6 | ||
| community. | ||
|
|
||
| [release 2015.02]: | ||
| https://github.com/rakudo/rakudo/blob/nom/docs/announce/2015.02.md | ||
| [Rakudo Perl 6 compiler]: http://github.com/rakudo/rakudo | ||
| [Parrot Virtual Machine]: http://parrot.org | ||
| [MoarVM]: http://moarvm.org/ | ||
|
|
||
| Some of the new compiler features added to this release include: | ||
|
|
||
| + On MoarVM, symlinks are now followed. This means that e.g. a given path | ||
| can have both .l and .d be true, if the symlink points to a directory. | ||
| This behaviour now matches the behaviour on the Parrot and JVM backend, | ||
| therefore one could consider this a bug fix, rather than an incompatible | ||
| change. | ||
| + Overriding invoke/postcircumfix:<( )> for type coercions (ex. MyType(...)) | ||
| now passes the function arguments as-is, rather than just passing a Capture | ||
| containing them. To get the old behavior, simply declare a Capture | ||
| parameter (|c). | ||
| + "6;" at unit start is no longer a way to say "no strict;". It was deemed | ||
| to be a bad meme and huffmannized inappropriately. | ||
| + Coercion syntax now works in signatures: sub foo(Str(Any) $a) { ... } | ||
| will take Any value as its first positional parameter, and coerce it to | ||
| Str before making it available in $a. Note that Str(Any) can be shortened | ||
| to Str(). | ||
| + "sub MAIN;" (as in, rest of file is the MAIN unit) has been implemented. | ||
| + Metaop "=" now respects the precedence of the op it is meta-ing. | ||
| + Many optimizations, improved error messages and bugs fixed (over | ||
| 200 commits to Rakudo since the 2015.01 release). | ||
|
|
||
| In future, the `nqp::` namespace willl only be available after a declaration | ||
| like `use nqp;`. | ||
|
|
||
| Changes to modules included in Rakudo Star: | ||
|
|
||
| - [JSON::Tiny](https://github.com/moritz/json) gives better error messages on invalid input | ||
| - [panda](https://github.com/tadzik/panda) givees better error messages when | ||
| projects.json is not a valid JSON file (for example due to ISP-level HTTP filtering) | ||
| - [doc](https://github.com/perl6/doc) ships with much more documentation | ||
| - [LWP::Simple](https://github.com/cosimo/perl6-lwp-simple) supports PUT and HEAD requests, | ||
| as well as TLS if [IO::Socket::SSL](https://github.com/sergot/io-socket-ssl/) is installed. | ||
|
|
||
| The `Math::Model` and `Math::RungeKutta` modules no longer ship with Rakudo | ||
| Star. They can still be installed with `panda`. | ||
|
|
||
| This is the last Rakudo Star release with support for the Parrot backend, | ||
| until volunteers are found that bring the Parrot backend in shape en par with | ||
| the other backends, and implement necessary features for upcoming changes. See | ||
| [this blog post](http://pmthium.com/2015/02/suspending-rakudo-parrot/) for | ||
| more information. | ||
|
|
||
| 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: | ||
|
|
||
| * advanced macros | ||
| * threads and concurrency (in progress for the JVM and MoarVM backend) | ||
| * Unicode strings at levels other than codepoints | ||
| * interactive readline that understands Unicode | ||
| * non-blocking I/O (in progress for the JVM and MoarVM backend) | ||
| * much of Synopsis 9 and 11 | ||
|
|
||
| There is an online resource at <http://perl6.org/compilers/features> | ||
| that lists the known implemented and missing features of Rakudo's | ||
| backends 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 <rakudobug@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-compiler@perl.org> | ||
| mailing list, or join us on IRC \#perl6 on freenode. |