Skip to content
Newer
Older
100644 83 lines (60 sloc) 3.13 KB
1dc43eb @sorear Draft v4 release announcement
authored Mar 25, 2011
1 Announce: Niecza Perl 6 v4
2
3 Niecza tag announcements occur on the last Monday of each month,
4 irrespective of the rate of development.
5
6 You can obtain a build of Niecza from [1]. This build contains a
7 working compiler as a set of .exe and .dll files suitable for use with
8 Mono or Microsoft .NET. If you wish to follow latest developments,
9 you can obtain the source from [2]; however, you will still need a
10 binary for bootstrapping, so you gain nothing from a "source is
11 better" perspective.
12
13 Niecza is a Perl 6 compiler project studying questions about the
14 efficient implementability of Perl 6 features. It currently targets
15 the Common Language Runtime; both Mono and Microsoft .NET are known to
16 work. On Windows, Cygwin is required for source builds only; see the
17 README for details.
18
19 Martin Berends (mberends) is the new contributor for this month.
20
21 List of changes
22
23 eval is now supported, along with eval_lives_ok and company. Note the
24 following limitations and bugs:
25 - No lexical scope inheritance (my $x; eval '$x')
26 - Leaks memory (no garbage collection for compiled code)
27 - eval always returns Any, so is only useful for side effects
28 - eval requires the compiler at runtime, so it cannot be used in
29 programs which will be precompiled to .exe
30
31 Threads.pm6 has been debitrotten and extended with a full monitor API
32 and an ObjectPipe class.
33
34 Class declarations of the form A::B are now allowed, and can be used in
35 files with names like A/B.pm6.
36
37 Type constraints are now supported for variable and parameter declarators.
38
39 The $foo.=bar and $foo .= bar syntaxes are now supported.
40
41 The $foo.$( ... ) syntax is now supported.
42
43 More spectest work, mostly by moritz++.
44
45 Categoricals like term:<foo> are now available, additionally, term:<now>
46 has been added by mberends++.
47
48 $match.[0] is now treated as a synonym for $match if $match has no
49 positional captures. This means that { say 'foo' ~~ /o*/ } will now do
50 what you expect.
51
52 Internal and interface changes:
53 - SAFE is gone; an "is unsafe" trait is now used for the sandbox.
54 - Refactored generation of vtable overrides.
55 - Much groundwork for multiple dispatch has been set.
56 - Niecza's STD.pm6 has been brought even closer to the standard one.
57 - More makefile targets (spectest, aot, clean, realclean, help) (mberends)
58 - Error messages consistantly use "Cannot" (moritz)
59
60 Bug fixes:
61 - $str ~~ m// no longer is always true.
62 - Parcels can be used as Lists in more places.
63 - Mono 2.6.x compatibility has been restored.
64 - Rounding of dates on Win32 no longer disables recompilation checking.
65
66 Getting involved
67
68 Contact sorear in irc.freenode.net #perl6 or via the sender address of
69 this mailing. Also check out the TODO file; whether you want to work
70 on stuff on it, or have cool ideas to add to it, both are good.
71
72 Future directions
73
74 The current general focus is on applications. I hope to have yapsi
75 running on Niecza soon. This will require multiple dispatch and some
76 small object model improvements. Improved designs from 6model will
77 be gradually incorporated.
78
79 A JVM backend is in the design stages.
80
81 [1] https://github.com/downloads/sorear/niecza/niecza-4.zip
82 [2] https://github.com/sorear/niecza
Something went wrong with that request. Please try again.