Announce: Rakudo Star Release 2015.07

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 July 2015 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the July 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).

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.07.2 of the Rakudo Perl 6 compiler, version 2015.07 of MoarVM, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new compiler features added to this release include:

  • Cool.substr(-rw) and &substr(-rw) now also accept a Range
  • Added trait “is required” on class attributes
  • &?ROUTINE and &?BLOCK
  • &words implemented (to completement .words)
  • Numeric comparison ops (== > etc) for DateTimes
  • samewith() now also works in subs
  • Calling the .clone method with alternate values no longer changes original
  • .grep and &grep now consume multiple elements for many-param blocks
  • ENTER phaser now can be used as an r-value

Notable changes in modules shipped with Rakudo Star:

  • Bailador: Add links to documentation
  • DBIish: Use Postgres environment variables for test configuration
  • doc: More documentation, mostly for IO-related classes and methods

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
  • non-blocking I/O (in progress)
  • 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.

Posted in announce | Comments Off

Announce: Windows MSI Installers for release 2015.06

The Windows MSI installers are now available, coming again in two versions. One installer targets x86 (32bit) platforms, and the other installer targets x86_64 (64bit) platforms (probably Windows 7 or better). Only the version for x86_64 comes with JIT enabled.
The two MSIs are available from http://rakudo.org/downloads/star/.

Posted in announce | Comments Off

Announce: Rakudo Star Release 2015.06

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 June 2015 release of “Rakudo Star”, a useful and usable
distribution of Perl 6. The tarball for the June 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).

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.06 of the
Rakudo Perl 6 compiler, version 2015.06 of MoarVM, plus various
modules, documentation, and other resources collected from the
Perl 6 community.

Other Rakudo Perl 6 Comiler changes included in this release:
https://github.com/rakudo/rakudo/blob/nom/docs/announce/2015.04.md
https://github.com/rakudo/rakudo/blob/nom/docs/announce/2015.05.md
https://github.com/rakudo/rakudo/blob/nom/docs/announce/2015.06.md

Some of the new compiler features added to this release include:

  • “0″ (0 as a string) is now True, no special-casing anymore
  • an Int() coercion type in a multi now creates two candidates: Any and Int
  • native arrays
  • starts-with/substr-eq/ends-with for comparing strings inside other strings
  • where constraints on variable and attribute declarations
  • ‘is rw’ parameters implemented for native subs (they get passed as a pointer)
  • use Foo:from<Perl5> and EVAL $code, :lang<perl5> are now supported as long as Inline::Perl5 is installed. Allows passing most of S01 spec tests.
  • NFG, NFC, NFD, Uni
  • “unit” declaration needed for blockless packages
  • Various API changes for the Great List Refactor, such as…
    •   ‘for’ loops not longer flatten; use ‘for flat’ for that
    •   .map no longer flattens, map as a listop does. Use .flatmap to get the old behavior
    •   Likewise other methods that used to flatten their invocant no longer do: all, any, one, none, unique, squish, min, max, minmax, classify, and categorize
    •   Nil no longer iterates like the empty List. Use () or Empty instead.
  • .pick($n)/roll($n) now always return lists, even when $n == 1
  • The “is cached” trait no longer works on methods, throws a NYI instead
  • Method .map should be used instead of .for
  • The REPL is strict by default now, that leaves only ‘-e’ lines to be lax
  • Implement new @*INC handling (about 30% faster startup time) (bare startup time is now below 100 ms on some machines)
  • Implemented CUnions which map to the union C type definition for NativeCall
  • Implemented HAS declarator for attributes to mark it embedded into the CStruct or CUnion
  • Lexical pragma ‘use trace’ now outputs statements on STDERR

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
  •  non-blocking I/O (in progress)
  •  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.

Posted in announce | Comments Off

Announce: Windows MSI Installers for release 2015.03

MSI installers now come in two versions.

In the past we had to build Rakudo on a x86 (32bit) platform to create an MSI installer package that is most portable. As of now we will also provide an x86_64 (64bit) installer package that additionally comes with JIT support.
If you have a 64bit system, probably Windows 7 or newer, the x86_64 version should give an extra performance boost compared to the 32bit version.
The two MSIs are available from http://rakudo.org/downloads/star/.

Posted in announce | Comments Off

Announce: Rakudo Star Release 2015.03

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 March 2015 release of “Rakudo Star”, a useful and usable
distribution of Perl 6. The tarball for the March 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 (the modules Bailador,
Digest::MD5 and Grammar::Profiler::Simple are known to fail tests).

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.03 of the
Rakudo Perl 6 compiler, version 2015.03 of MoarVM, plus various
modules, documentation, and other resources collected from the
Perl 6 community.

Some of the new compiler features added to this release include:

  • several renames of semi-internal methods. Please refer to the Rakudo
    2015.03 release notes
    for the full list
  • Allow Buf.AT-POS to return an l-value.
  • Implement method ^foo($) { ... } syntax.
  • Implemented PairMap (the simple case only, for now).
  • Implemented .antipairs (pairs with value => key).
  • Implemented pairup for creating pairs from lists.
  • Implemented LEXICAL, OUTERS and CALLERS pseudo-packages
  • Add array[T], usable for native int/num (MoarVM only for now)
  • Other native improvements, e.g. my int $a; $a++
  • Implement IO::Path.resolve on r-m/POSIX

In future, the nqp:: namespace willl only be available after a declaration
like use nqp;.

Changes to modules included in Rakudo Star:

  • DBIish supports local Sockets on mysql,
    and now correctly handles returned NULL values in the Pg backend
  • doc ships with much more documentation

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)
  • Unicode strings at levels other than codepoints
  • interactive readline that understands Unicode
  • non-blocking I/O (in progress)
  • 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.

Posted in announce | Comments Off

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 February 2015 release of “Rakudo Star”, a useful and usable
distribution of Perl 6. The tarball for the February 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).
One shipped module is known to fail on Parrot (jsonrpc).

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.

https://github.com/rakudo/rakudo/blob/nom/docs/announce/2015.02.md

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 gives better error messages on invalid input
  • panda gives better error messages when
    projects.json is not a valid JSON file (for example due to ISP-level HTTP filtering)
  • doc ships with much more documentation
  • LWP::Simple supports PUT and HEAD requests,
    as well as TLS if 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 and on par with
the other backends, and implement necessary features for upcoming changes. See
this blog post 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.

Posted in announce | Comments Off

Announce: Rakudo Star Release 2015.01

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.01.1 of the Rakudo Perl 6 compiler, version 7.0.1 of the Parrot Virtual Machine, version 2015.01 of MoarVM, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new compiler features added to this release include:

  • Many improvements to Java interop for the JVM backend
  • New simple way of creating an object hash: :{}
  • Substitution now supports assignment meta-op, e.g. s[\d+] += 2
  • Many memory and CPU optimizations
  • Supply.for deprecated in favour of Supply.from-list

Changes to modules included in Rakudo Star:

  • Bailador handles POST and URL params separately
  • DBIish has improved error reporting on SQLite
  • doc ships with much more documentation
  • panda has a new command installdeps
  • Pod::To::HTML now supports callbacks for code areas

Parrot support will likely be suspended or dropped from future Rakudo and Rakudo Star releases, starting with the February or March releases.

In the next Rakudo Star release, modules Math::RungeKutta and Math::Model will likely be dropped. They can still be installed with panda.

In future, the nqp:: namespace willl only be available after a declaration like `use nqp;’.

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-users@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in announce | Comments Off

Update to Rakudo Star Release 2014.12

2014.12.1 Patched release and Windows MSI installers available

The version 2014.12.1 contains a fix for the module installer “panda”, which had problems to list installed modules in the previous release. Additionally, the windows prebuilt binaries are available now for download at the same location: http://rakudo.org/downloads/star/.

Posted in announce | Comments Off

Announce: Rakudo Star Release 2014.12

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 December 2014 release of “Rakudo Star”, a useful and usable
distribution of Perl 6. The tarball for the December 2014 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 (JSON::RPC,
MIME::Base64 and p6doc).

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 2014.12 of the
Rakudo Perl 6 compiler, version 6.9.0 of the Parrot Virtual
Machine
, version 2014.12 of MoarVM, plus various modules,
documentation, and other resources collected from the Perl 6
community.

Some of the new compiler features added to this release include:

  • $str ~~ s/// now returns a Match or list of Matches (incompatible change)
  • Supply.lines/words and IO::Handle.words implemented
  • &indir for scoped directory manipulations
  • Various performance improvements
  • Method ‘for’ as an alias for ‘map’. Map will stop flattening the list eventually, ‘for’ remains as it is now
  • Method ‘unique’ as a successor for ‘uniq’
  • Introduce IO::Handle.slurp-rest for slurping rest from the handle
  • Fix tie-breaking issues with longest literal matching
  • Method FALLBACK implemented
  • $*DISTRO and $*KERNEL updated ($*DISTRO now actually report the Linux dist)
  • Added Metamodel::Primitives, to open up more meta-programming possibilities
    (publishing method caches, completely custom meta-objects, etc.)

Changes to modules included in Rakudo Star:

  • Bailador now binds to all interfaces by default.
  • panda reads package information from http://ecosystem-api.p6c.org/ as opposed to http://feather.perl6.nl:3000/.
  • panda executable now works under PowerShell.
  • panda returns correct exit status if it fails.
  • panda now ignores POD while determining module dependencies.
  • panda now can upload test results to testers.perl6.org server.
  • panda now displays help with correct command descriptions when using --help.
  • panda has a smoke option to download and test all Perl 6 modules.
  • panda can now use look option in order to download modules without doing anything else.
  • HTTP::Easy has received a few algorithm optimizations that made it faster.
  • HTTP::Easy now binds to all interfaces by default when acting as a web server.
  • ufo now leaves .pm and .pm6 in module names.
  • NativeCall now parses library names like libfoo-2.0 and libbar.so.3.3.0.

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-users@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in announce | Comments Off

Announce: Rakudo Star Release 2014.09

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 September 2014 release of “Rakudo Star”, a useful and usable
distribution of Perl 6. The tarball for the September 2014 release is
available from http://rakudo.org/downloads/star/.
Windows .MSI versions of Rakudo star for the MoarVM and Parrot backend
are also avaiable in the downloads area.

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).
Two shipped modules are known to fail on Parrot (JSON::RPC and p6doc).

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 2014.09 of the
Rakudo Perl 6 compiler, version 6.7.0 of the Parrot Virtual
Machine, version 2014.09 of MoarVM, plus various modules,
documentation, and other resources collected from the Perl 6
community.

Some of the new features added to this release include:

  • panda (the module installer client) does work on windows again
  • panda knows about all modules, that are shipped with this release
  • ./perl6 –profile for MoarVM
  • Workaround OS X make bug for MoarVM
  • support for submethod DESTROY (MoarVM only)
  • optimizations to Str.words, Str.lines, IO.lines, chomp, and return
  • added experimental support for Proc::Async, MoarVM only for now
  • Reduced memory size of CORE.setting, improved startup time
  • startup (on Moar) 15% faster than p5 w/ Moose

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
  • 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 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.

Posted in announce | Leave a comment