/
ChangeLog
160 lines (153 loc) · 6.91 KB
/
ChangeLog
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
New in 2009-09 release
+ updates to numeric operators: infix</>(Int, Int) creates a Rat
+ Rat (rational) numbers
+ overloadable builtin operators
+ contextual variables
+ setting values in %*ENV now works
New in 2009-08 release
+ Rakudo must now be built from an installed parrot, and can be installed
itself
+ separate Perl 6 meta class
+ introspection on roles
+ declaration of methods in the meta class by writing method ^newmethod($obj)
+ :tree options for parent class, attribute and role introspection
+ allow some custom postcircumfix:<( )> methods
+ moved more built-ins into the setting
+ implement operators infix:<!%> (divisibility test) and prefix [||] and [//]
+ updated ROADMAP in preparation for the Rakudo Star release
+ instead of throwing nasty parse errors, Rakudo now informs you that feed
operators are not yet implemented
+ improved testing: planless testing with done_testing(); better diagnostic
output from is()
+ the syntax for embedded comments has changed
+ embedded Pod comments are now recognized
+ support for defining traits and applying them to routines, classes and roles
+ "hides" trait (class A hides B { ... }), and "is hidden"
+ better handling of slurpy and optional in multi-dispatch
+ use of .?, .+ and .* with indirect calling form ($obj.+@cands)
+ .can improved; now returns something usable as an iterator
+ lastcall implemented
New in 2009-07 release
+ extensive refactor of the multi dispatch code to get closer to the spec
+ better handling of named arguments in multi dispatch
+ operators and traits can be defined in the setting
+ basic implementation of the series and eqv operators
+ refatored trait code to match updated specification
+ implemented more cases of smartmatching against hashes
+ fixed state variables to work with //= and ||= initialization
+ improved testing: when Rakudo dies with 'Null PMC Access' it is never
considered a success
+ implemented the :all flag to split which keeps captures
+ added List.rotate builtin
+ nextwith and callwith now also work properly with methods
+ take() without outer gather now merely warns
+ introspection of roles and attributes
New in 2009-06 release
+ refactored and corrected object initialization (BUILD/CREATE)
+ attributes initilizations can now use attributes defined earlier
+ method calls are now faster
+ basic safe mode that forbids IO and execution of external programs
+ implemented meta operators for user defined operators
+ initial implementation of Temporal (date/time related objects)
+ type checking of implicit return values
+ improved introspection methods
+ cleaned up IO methods
+ improved "is export" handling for modules and setting
+ automatically transcode to iso-8859-1 for faster parsing when possible
+ refactored and corrected assignment, .succ, .pred, C<++>, C<-->,
postcircumfix:<[ ]>, Whatever
+ "module Foo;" now allows statements before it
+ improved Unicode string handling
+ better support for Str increment/decrement in Unicode ranges
+ many performance improvements
New in 2009-05 release
+ updated docs/ROADMAP
+ basic support for custom operators
+ operators can now be referenced as &infix:<+>
+ meta operator support for custom operators
+ cross-language library loading
+ stack traces now include source file name and line number
+ implemented Regex type
+ .WALK (parent classes in configurable order)
+ .name method on routines
+ refactored enums, thereby fixing many enum related bugs
+ fixed namespace of eval()ed code
+ implemented parallel dispatch (@objects>>.methods)
+ initial support for «...» quotes
+ text files now default to utf8 encoding
+ fixes to Match.perl and Match.chunks
+ implemented 'constant name = $value'
+ documented build dependencies
+ grep() accepts general matcher, things like @list.grep(Int) work
+ trigonometric functions (sin, cos, ...) now available via 'use Num :Trig'
+ qx{} quotes now work (except on Windows)
+ hyper-operators on hashes now work (%a >>+<< %b)
+ initial implementation of $foo.@bar
+ refactored wrap and unwrap to work with candidate lists; fixes some bugs
+ refactored/improved callsame and callwith, and added nextsame and nextwith
(only work for dispatches of the form $foo.@bar and with wrap so far)
+ partial implementation of .^parents and .^methods
+ can initialize attributes in terms of others
+ many other bug fixes and performance enhancements
New in 2009-04 release (#16, "Bratislava")
+ wrap and unwrap for subroutines
+ calling a method on a Whatever star generates a closure
+ 1+*, *+1 and others generate closures (*-1 missing)
+ Associative, Positional and Callable are now parametric roles
+ typed arrays and hashes
+ parametric role subtyping (R[T1] ~~ R[T2] where T1 ~~ T2)
+ .invert and .push on Hashes
+ enforce return types of subroutines (partial implementation)
+ parallel testing
+ Configure.pl now supports passing options to parrot's Configure
+ support for lexical subroutines and multis
+ implemented \c[character name] in double quoted strings and regexes
+ implemented Perl 5 regexes
+ rx/.../ regex quoting
+ sockets support has been added (IO::Socket)
+ regex patterns may now be quantified by a separator regex
+ moved many methods to the setting
+ exporting and importing by tags, support :DEFAULT export tag
+ implemented START blocks
+ implemented roots builtin
+ implemented .ast on Match objects
+ added Match.caps and Match.chunks
+ split() now supports limits in all cases
+ prefix:<=> and the "fish operator" ( =<> ) are now gone
+ .readline is now .get
+ roles are now punned on any method call on the role
+ many other bug fixes
New in 2009-03 release (#15, "Oslo")
+ implemented $*PROGRAM_NAME magical variable
+ outer lexicals are now visible in eval()
+ next, last etc. work in grep()
+ added R metaoperator
+ add an initial draft of Match.perl
+ refactor Grammar and Match class hierarchy
+ fix if/unless/while/until/for/... on line after close curlies
+ add Q quoting, including Q:PIR
+ added "state" variables
+ //= fixed to short-circuit, and added short-circuiting &&= and ||=
+ multi-subs now have the Multi type and have a .candidates method
+ multi-method dispatch now looks up the class hierarchy
+ various fixes to using roles as type constraints
+ support bare sigils in signatures
+ more methods and functions moved to (Perl 6) setting
+ many other bug fixes
New in 2009-02 release (#14, "Vienna")
+ first release independent of Parrot releases
+ passing 7076 spectests (+796 since 2009-01 release)
+ build and use fakecutable (perl6.exe) by default
+ redesigned build, configuration, and test subsystems
+ add settings/ directory for builtins written in Perl 6 (was "prelude")
+ improve diagnostics in Test.pm
+ allow anonymous classes via C<::>
+ re-use existing parameterized roles instead of creating new ones
+ roles now pun classes when .new is called on them
+ 'proto' now marks all same-named routines as 'multi'
+ XopX is now Xop
+ implement <-> (rw) pointy blocks
+ added min= and max= metaoperators
+ many many bugfixes
+ publish release schedule
+ documentation improvements