Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 66 lines (43 sloc) 2.299 kB
9c6f9fa @sorear Start drafting of v1 message
authored
1 Announce: Niecza Perl 6 v1
2
3 To mark one month since the first announcement of Niecza, to be known
4 retroactively as v0, this is another announcement, to be known as v1.
5 Further announcements will occur at intervals on the last Monday of
6 each month.
7
8 Niecza is a Perl 6 compiler project studying questions about the
9 efficient implementabilty of Perl 6 features. It currently targets
10 the Common Language Runtime in the form of Mono.
11
12 List of changes
13
14 * The code generation backend has been rewritten to generate CLR
15 bytecode directly, instead of going through the C# compiler. This is
16 quite a bit faster, and also generates slightly better code (due to
17 structural restructions on C# code that spaghetti bytecode lacks).
18 Also, it means that Niecza no longer depends on a C# compiler after
19 installation.
20
21 * Call graph generation. Set NIECZA_TRACE_CALLS=1 in the environment,
22 then pass the output into perf/call-log-analyze.pl to see what your
23 most used functions are.
24
25 * The included JSYNC interface can now save subclasses of Hash.
26
27 * &print is now available.
28
29 * use v6; is now recognized and ignored.
30
31 * --gen-app is no longer available; it was deeply tied to the C# use.
32
33 * The binder has been redesigned and made data-driven, shrinking DLLs
34 and making signature introspection possible.
35
36 * Regex matches now set $/.
37
38 * Exceptions now propagate out of inner loop contexts correctly (e.g.
39 if a Str overload dies when an object is stringified)
40
41 * Array and hash slices are now supported.
42
43 * Relative array indexing (@foo[*-1]) is now supported.
44
45 * INIT blocks are now supported.
46
47 * In stack traces, method names now include the class.
48
49 * 'augment' now takes effect at INIT time, not BEGIN. This allows
50 augments to be used in precompiled modules.
51
52 * Bootstrap code is now properly distributed between modules, rather
53 than having all of it bloat MAIN.exe.
54
55 * require declarations are now supported.
56
57 * Minor optimizations have been done on: storage of boxed values,
58 autovivification, postcircumfix operators, contextual conversions,
59 zero width assertions, list iteration.
60
61 Getting involved
62
63 Contact sorear in irc.freenode.net #perl6 or via the sender address of
64 this mailing. Also see docs/lhf.txt for a list of things that need to
65 be done in no particular order.
Something went wrong with that request. Please try again.