Skip to content
This repository
tree: 6c0c55a27a
Fetching contributors…

Cannot retrieve contributors at this time

file 105 lines (59 sloc) 2.958 kb
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
    Announce: Niecza Perl 6 v9

This is the nineth release of Niecza Perl 6, as usual scheduled on
the last Monday of the month.

You can obtain a build of Niecza from [1]. This build contains a
working compiler as a set of .exe and .dll files suitable for use with
Mono. If you wish to follow latest developments,
you can obtain the source from [2]; however, you will still need a
binary for bootstrapping, so you gain nothing from a "source is
better" perspective.

Niecza is a Perl 6 compiler project studying questions about the
efficient implementability of Perl 6 features. It currently targets
the Mono implementaton of the Common Language Runtime.


    List of changes



[Breaking changes]

Niecza v9 no longer supports .NET. Niecza v9 has Mono-specific code
for performing file access tests. Implementation of runtime probing
has been deferred until demand arises.



[Major features]

Niecza now supports the $::("foo") indirect name access syntax,
including indirect access to pseudopackages such as CALLER.

Trailing double colons on package names are now parsed, allowing
for working Foo::<$bar> syntax.

Pseudo-packages (CALLER, OUTER, etc) are now supported.

The new gist method is used to render say output one argument at a time,
and no longer has the effect of joining lists without spaces.

Nil is now supported according to spec. It is an undefined value, and
is treated as the lack of an argument by the binder.

Perl 6 subroutine-scope phasers are now implemented: LEAVE, ENTER, UNDO,
KEEP, TEMP, PRE, POST. Class-level design-by-contract is still NYI.

CATCH and CONTROL are now implemented.



[Minor new features]

Name handling is more uniform and corner cases such as class :: is Str
now work.

"is dynamic" is now parsed and ignored on variables.

Exception handling through nested runloops is now more transparent;
control exceptions in particular now work properly.

File access tests (rwxoRWXO) are now supported. (Mathew Wilson)

Regex modifiers :nth :x :continue :pos are now supported.

Added &dir, Pair::ACCEPTS.

Added sprintf (Mathew Wilson and Martin Berends).

General cases of the temp and let pseudo-declarators are now
implemented.

Warnings are now implemented as control exceptions and can be caught
using CONTROL.



[Selected bug fixes]

% now handles signs correctly. (Larry Wall)



[Other]

The binary distribution has been slightly simplified to reduce potential
confusion.



    Getting involved

Contact sorear in irc.freenode.net #perl6 or via the sender address of
this mailing. Also check out the TODO file; whether you want to work
on stuff on it, or have cool ideas to add to it, both are good.

    Future directions

The main shiny thing I want to chase next month is asynchronous I/O
and networking. Niecza's poor startup speed makes long-running
servers an attractive niche to target.

[1] https://github.com/downloads/sorear/niecza/niecza-9.zip
[2] https://github.com/sorear/niecza
Something went wrong with that request. Please try again.