aboutsummaryrefslogtreecommitdiff
path: root/docs/announce/2016.10.md
blob: 68c4d3d97cd4d040013cd33fec53c11d649a4dc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# Announce: Rakudo Star Release 2016.10

## A useful and usable production distribution of Perl 6

On behalf of the Rakudo and Perl 6 development teams, I'm pleased to
announce the October 2016 release of "Rakudo Star", a useful and usable
production distribution of Perl 6. The tarball for the October 2016 release
is available from <http://rakudo.org/downloads/star/>.

This is the fourth post-Christmas (production) release of Rakudo Star and
implements Perl v6.c. It comes with support for the MoarVM backend (all
module tests pass on supported platforms).

Please note that this release of Rakudo Star is not fully functional with
the JVM backend from the Rakudo compiler. Please use the MoarVM backend
only.

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

[release 2016.10]: https://raw.githubusercontent.com/rakudo/rakudo/2016.10/docs/announce/2016.10.md
[Rakudo Perl 6 compiler]: http://github.com/rakudo/rakudo
[MoarVM]: http://moarvm.org/

Some of the new compiler features since the last Rakudo Star release include:

  * Test.pm now provides bail-out()
  * Implemented $?MODULE and ::?MODULE
  * Implemented CompUnit::Repository::Installation::installed
  * .min/.max can now be called on Hashes
  * .succ now increments additional 29 digit ranges, such as Thai digits
  * Coercions now work in return types
  * Added RAKUDO\_EXCEPTIONS\_HANDLER env var to control exceptions output
  * CompUnit::Repository::Installation now cleans up short-name folders when empty
  * All Unicode quotes can now be used as quoters inside qqww/qww
  * Added basic Unicode 9 support (NFG changes for latest TR#29 still to do))
  * IO::Handle.new now uses 'utf8' encoding by default
  * It's now possible to refer to sigiless parameters inside `where` clauses
  * Made Complex.new() return 0+0i
  * Added shortname() method to CurriedRoleHOW

Compiler maintenance since the last Rakudo Star release includes:

  * zef and panda now correctly install on OpenBSD and FreeBSD
  * Numerous improvements to content of error messages and addition of new
    previously-undetected warnings
  * Race conditions and deadlocks fixed
  * Large number of Hash, Bag, Baggie BagHash etc. speedups
  * Numerous improvements in CUR, offering up to 10x faster module loading
  * Many permutations() and combinations() speedups
  * Distribution::Path now handles native libraries correctly
  * Junctions now work in .classify
  * Fixed a memory leak involving EVAL
  * Fixed tab-completion issues with non-identifiers in REPL
  * Made huge improvement to CUR::Filesystem.id performance
  * Many fixes and additions improving JVM backend support
  * Removed argument-taking Dateish candidates for is-leap-year, days-in-month,
    and day-of-week (were never part of the spec)
  * Cool.IO no longer accepts any arguments
  * Overflow check has been removed from infix:<**>(int, int)


Notable changes in modules shipped with Rakudo Star:

  * prove6 has been added and will be used by panda unless PROVE\_COMMAND env var set
  * perl6-pod-to-bigpage: added as dependency for doc tests
  * DBIish: Add simple Str support for Postgres type 790 (money)
  * Linenoise: Remove dependency on Native::Resources
  * Pod-To-HTML: Add support for lang="" attribute, ignore .precomp and other changes
  * doc: Many documentation additions and improvements (too many to list!)
  * json-fast: Don't explode when using to-json on a Num
  * p6-native-resources: Mark this module as deprecated in the ecosystem
  * panda: support for prove6 and uninstallation of modules and much else
  * perl6-lwp-simple: Make SSL testing optional and more control over character encoding.
  * svg-plot: Background color option and bubble plot type added. 

perl6intro.pdf has also been updated.

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)
  * some bits 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, presentations,
reference materials, design documents, and other supporting resources.
Some Perl 6 tutorials are available under the "docs" directory 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.