| 1 | # $Id: NEWS 79697 2009-02-13 21:08:34Z kjs $ |
|---|
| 2 | |
|---|
| 3 | New in February 2009 release (r79697) |
|---|
| 4 | |
|---|
| 5 | - Implementation |
|---|
| 6 | + Support for portable 'Inf' and 'NaN' |
|---|
| 7 | + pbc_disassemble prints constants in constants table |
|---|
| 8 | + Removed (incomplete) Bignum implementation |
|---|
| 9 | + Pair is now a dynamic loadable PMC |
|---|
| 10 | + Various function name sanification |
|---|
| 11 | + New implementation of Strings component |
|---|
| 12 | + Replace various PMC value union access code by VTABLE method invocations |
|---|
| 13 | + Replace various PMC value unions by ATTRibutes |
|---|
| 14 | + Removed SArray PMC. Use FixedPMCArray instead. |
|---|
| 15 | - Documentation |
|---|
| 16 | + Book |
|---|
| 17 | 1- Language Structure |
|---|
| 18 | 2- PIR Basics |
|---|
| 19 | 3- |
|---|
| 20 | 4- |
|---|
| 21 | 5- |
|---|
| 22 | 6- Some pytfaills and bugs |
|---|
| 23 | 7- Hashes |
|---|
| 24 | 8- |
|---|
| 25 | 9- Robust programing techniques |
|---|
| 26 | 10- |
|---|
| 27 | 11- Advanced PIR |
|---|
| 28 | 12- |
|---|
| 29 | 13- What's go on Beyond? |
|---|
| 30 | 14- |
|---|
| 31 | |
|---|
| 32 | + Function documentation |
|---|
| 33 | + Pod documentation style modernized; no longer Perl 5 style. |
|---|
| 34 | + PMC has an additional acronym: Poly Morphic Container |
|---|
| 35 | + The DOD (Dead Object Detection) acronym is no longer used; |
|---|
| 36 | use 'GC' to refer to the Garbage Collector component. |
|---|
| 37 | - Compilers |
|---|
| 38 | + IMCC999 |
|---|
| 39 | - :named flag can now take string registers as argument |
|---|
| 40 | - A single '=cut' directive is now ignored (without initial Pod directive) |
|---|
| 41 | - :vtable subs now have proper access to 'self' pseudo variable |
|---|
| 42 | - Languages |
|---|
| 43 | + add new 'Pod' documentation parser999 |
|---|
| 44 | + Pipp (PHP implementation):999 |
|---|
| 45 | - support for 'print', 'dirname', 'implode', 'str_replace', 'switch' |
|---|
| 46 | - various grammar fixes |
|---|
| 47 | + ECMAScript999 |
|---|
| 48 | + add 'quit', 'readline' builtins |
|---|
| 49 | + fix 'Boolean' type and 'print' builtin |
|---|
| 50 | + Lua999 |
|---|
| 51 | - left the nest and is now at http://github.com/fperrad/lua/ |
|---|
| 52 | + Rakudo999 |
|---|
| 53 | - left the nest and is now at http://github.com/rakudo/rakudo/ |
|---|
| 54 | - build instructions can be found at http://tinyurl.com/rakudo |
|---|
| 55 | + lazy-k999 |
|---|
| 56 | - left the nest and is now at http://github.com/bschmalhofer/lazy-k.git |
|---|
| 57 | + unlambda999 |
|---|
| 58 | - left the nest and is now at http://github.com/bschmalhofer/unlambda/ |
|---|
| 59 | + WMLScript999 |
|---|
| 60 | - left the nest and is now at http://github.com/fperrad/wmlscript.git |
|---|
| 61 | + removed Zcode implementation |
|---|
| 62 | - Tools |
|---|
| 63 | + pmc2C999 |
|---|
| 64 | - ATTRs are now inherited automatically in subclassing PMCs |
|---|
| 65 | - Deprecations999 |
|---|
| 66 | + Parrot_readbc, Parrot_loadbc renamed to Parrot_pbc_read, Parrot_pbc_load. |
|---|
| 67 | + .HLL_map directive in favour of 'hll_map' method on Parrot interpreter |
|---|
| 68 | + Data::Escape library |
|---|
| 69 | - Tools999 |
|---|
| 70 | + pbc_disassemble options added |
|---|
| 71 | + pbc_dump renamed from pdump |
|---|
| 72 | - Miscellaneous999 |
|---|
| 73 | + Parrot is now Copyright Parrot Foundation |
|---|
| 74 | + Parrot's SVN repository is now hosted at https://svn.parrot.org |
|---|
| 75 | + Various code cleanups, consting, 64-bit incompatibilities and other bug fixes |
|---|
| 76 | |
|---|
| 77 | |
|---|
| 78 | New in January 2009 release (0.9.0-79697) |
|---|
| 79 | - Implementation |
|---|
| 80 | + Implemented bytecode annotations |
|---|
| 81 | + Role composition is now aware of multi-subs |
|---|
| 82 | + Unbuffered IO PMCs now autopromote when buffering is necessary |
|---|
| 83 | + Installation parrot binary and libparrot shared library now supported |
|---|
| 84 | + Class registry now respects HLLs |
|---|
| 85 | - Compilers |
|---|
| 86 | + IMCC |
|---|
| 87 | - removed keyed string indexing, e.g. $S0[1]. |
|---|
| 88 | - removed slice syntax, e.g. $P0[1..2] |
|---|
| 89 | - removed .namespace <ident>/.endnamespace <ident> pair |
|---|
| 90 | - fixed 'new $P0, [classname]' syntax |
|---|
| 91 | + PIRC |
|---|
| 92 | - refactoring of various data structures |
|---|
| 93 | - various bug fixes and updates |
|---|
| 94 | - complete bytecode generation |
|---|
| 95 | - add '-x' commandline option to run compiled code |
|---|
| 96 | + PCT |
|---|
| 97 | - add 'hll' and 'subid' attributes to PAST::Block |
|---|
| 98 | - refactor loop handling code to handle last/redo/next |
|---|
| 99 | - add :pasttype('stmts') and :pasttype('null') |
|---|
| 100 | - improve "scope not found" error message |
|---|
| 101 | - allow PAST::Val nodes to contain block references |
|---|
| 102 | + PGE |
|---|
| 103 | - add "skipkey" option to PGE::OPTable |
|---|
| 104 | - allow spaces before modifiers in regexes |
|---|
| 105 | - add '(' ~ ')' goal matching syntax |
|---|
| 106 | - skip creating a class/grammar if it already exists |
|---|
| 107 | - Languages |
|---|
| 108 | + Rakudo |
|---|
| 109 | - improved error mesages in multi dispatch |
|---|
| 110 | - implemented clone method for all objects |
|---|
| 111 | - implemented MAIN sub |
|---|
| 112 | - Unicode versions of infix hyper operators |
|---|
| 113 | - refactored IO.readline |
|---|
| 114 | - basic support for Inf and NaN |
|---|
| 115 | - list and array slices with whatever star |
|---|
| 116 | - hash slices |
|---|
| 117 | - implemented last and redo |
|---|
| 118 | - pointy blocks as terms |
|---|
| 119 | - refactored variable and parameter passing |
|---|
| 120 | - improved assignment semantics |
|---|
| 121 | - improved parsing of type names and subs |
|---|
| 122 | - mostly implemented parametric roles |
|---|
| 123 | - separate types for blocks, subs and methods |
|---|
| 124 | - basic support for submethods |
|---|
| 125 | - implemented Junction autothreading of user code (not builtins yet) |
|---|
| 126 | - eval supports :lang attribute |
|---|
| 127 | - proto makes other subs in scope multis, including in role composition |
|---|
| 128 | + Befunge |
|---|
| 129 | - back to working state |
|---|
| 130 | - ported to pir |
|---|
| 131 | + Pipp |
|---|
| 132 | - add support for predefined constant __CLASS__ and __METHOD__ |
|---|
| 133 | - add initial support for static members |
|---|
| 134 | - add support for namespaced constants |
|---|
| 135 | - constants are now handled as package vars |
|---|
| 136 | - variables are now lexical variables |
|---|
| 137 | - add support for superglobals in functions |
|---|
| 138 | - Call the class __constructor when there is one |
|---|
| 139 | - added incomplete support for closures |
|---|
| 140 | - removed support for the alternative parsing strategies |
|---|
| 141 | - added support for 'elsif' |
|---|
| 142 | - added support for 'do-while' |
|---|
| 143 | + HQ9+999 |
|---|
| 144 | - left the nest and is now at https://github.com/bschmalhofer/hq9plus/ |
|---|
| 145 | + Eclectus999 |
|---|
| 146 | - left the nest and is now at http://github.com/bschmalhofer/eclectus/ |
|---|
| 147 | + m4999 |
|---|
| 148 | - left the nest and is now at http://github.com/bschmalhofer/m4/ |
|---|
| 149 | + Lua:999 |
|---|
| 150 | - add a minimalist user back trace |
|---|
| 151 | + PIR999 |
|---|
| 152 | - "does" and "morph" VTABLE interfaces are now overridable from PIR |
|---|
| 153 | - Miscellaneous |
|---|
| 154 | + Infrastructure |
|---|
| 155 | - 'make smoke' now generates Smolder reports sent to |
|---|
| 156 | http://smolder.plusthree.com/app/public_projects/smoke_reports/8 |
|---|
| 157 | + Improved const and null correctness for C function parameters |
|---|
| 158 | + Sped up STRING manipulation (append, chop), improving PGE about 30% |
|---|
| 159 | + BOOK999 |
|---|
| 160 | - Added sections about Classes, OO programming, and methods. |
|---|
| 161 | - Added information about Annotations, Exceptions, and Handlers |
|---|
| 162 | + STM999 |
|---|
| 163 | - Removed non-functional STM subsystem |
|---|
| 164 | |
|---|
| 165 | |
|---|
| 166 | New in 0.8.2-79697 |
|---|
| 167 | - Implementation |
|---|
| 168 | + fixed lexical semantics |
|---|
| 169 | + added the 'capture_lex' opcode |
|---|
| 170 | + added automatic resume for nonfatal exceptions |
|---|
| 171 | + added multidispatch cache |
|---|
| 172 | + applied miscellaneous performance improvements, including startup time |
|---|
| 173 | + fixed several bugs and leaks found by Coverity Scan |
|---|
| 174 | + removed race conditions from parallel testing |
|---|
| 175 | - Compilers |
|---|
| 176 | + IMCC999 |
|---|
| 177 | - removed undocumented .param int <stringc> => <ident> syntax |
|---|
| 178 | - .line directive now only takes an integer argument |
|---|
| 179 | - new .file directive to specify the file name being compiled |
|---|
| 180 | + PCT999 |
|---|
| 181 | - properly handles lexical generation and closure semantics |
|---|
| 182 | - uses :subid instead of name lookups to reference PAST::Block nodes |
|---|
| 183 | - added PAST::Control node type (exception handlers) |
|---|
| 184 | + PGE999 |
|---|
| 185 | - add support for <?{{...}}> and <!{{...}}> assertions |
|---|
| 186 | - Match objects use Capture PMC instead of Capture_PIR |
|---|
| 187 | + PIRC999 |
|---|
| 188 | - add macro handling to PASM mode |
|---|
| 189 | - disable vanilla register allocation in PASM mode, but do allow optimization |
|---|
| 190 | - add tests and bug fixes |
|---|
| 191 | - first bits of bytecode generation. No sub calling/returning yet. |
|---|
| 192 | - Languages |
|---|
| 193 | + Rakudo999 |
|---|
| 194 | - fixed lexical handling and recursion |
|---|
| 195 | - refactored subtypes implementation |
|---|
| 196 | - support for quotes with multi-character delimiters |
|---|
| 197 | - implemented list slices (Positional role) |
|---|
| 198 | - list assignment |
|---|
| 199 | - reduction meta operators |
|---|
| 200 | - hyper meta operators |
|---|
| 201 | - cross meta operators |
|---|
| 202 | - more builtin functions |
|---|
| 203 | - added Nil type |
|---|
| 204 | - basic support for protos |
|---|
| 205 | - iterator on filehandle objects |
|---|
| 206 | - basic support for exception handlers |
|---|
| 207 | - warn |
|---|
| 208 | + Lua999 |
|---|
| 209 | - added complex & mathx libraries |
|---|
| 210 | - merged LuaClosure & LuaFunction PMC |
|---|
| 211 | + Pipp999 |
|---|
| 212 | - added support for a return value from user defined functions |
|---|
| 213 | - added incomplete implemention of 'require_once' |
|---|
| 214 | + Ecmascript999 |
|---|
| 215 | - parser fixes, parses spidermonkey's top level test/shell.js |
|---|
| 216 | - Deprecations |
|---|
| 217 | + PARROT_API999 is now PARROT_EXPORT999 |
|---|
| 218 | + PIR999 |
|---|
| 219 | - :lexid is now :subid |
|---|
| 220 | - .arg is now .set_arg |
|---|
| 221 | - .result is now .get_result |
|---|
| 222 | - .yield (in .begin/end_yield) is now .set_yield |
|---|
| 223 | - .return (in .begin/end_return) is now .set_return |
|---|
| 224 | - .namespace x / .endnamespace x syntax is removed |
|---|
| 225 | + Capture_PIR (runtime/parrot/library/Parrot/Capture_PIR.pir) |
|---|
| 226 | |
|---|
| 227 | New in 0.8.1-79697 |
|---|
| 228 | - Implementation |
|---|
| 229 | + added CPAN module Storable 2.12 as a configuration and build dependency |
|---|
| 230 | + removed the pseudo PIR opcode 'addr' |
|---|
| 231 | + added the 'box' opcode |
|---|
| 232 | + fixed 'pop_eh' handling in PIR libraries and examples |
|---|
| 233 | + removed usage of .return for tailcalls (use .tailcall instead) |
|---|
| 234 | + removed 'get_hash' and 'get_array' from Capture PMC and Capture_PIR |
|---|
| 235 | + improved debugger and HLL coordination |
|---|
| 236 | + allowed MMD primitive autoboxing |
|---|
| 237 | + fixed all known memory leaks in PIR "Hello, world!" |
|---|
| 238 | + NCI signatures now JITted on x86-32 platforms (Windows and Linux) |
|---|
| 239 | + made the .const directive take a quoted type name instead of a constant |
|---|
| 240 | + made IMCC more re-entrant |
|---|
| 241 | - Languages |
|---|
| 242 | + Rakudo999 |
|---|
| 243 | - refactored Junctions implementation |
|---|
| 244 | - added "fire and forget" tool to rebase/rebuild/test Parrot and Rakudo |
|---|
| 245 | - updated container/reference semantics |
|---|
| 246 | - added more builtin methods and functions |
|---|
| 247 | - improved support for multilevel namespaces |
|---|
| 248 | - added support for .Str, .succ, .pred in user-defined classes |
|---|
| 249 | - implemented pointy blocks on if/loops |
|---|
| 250 | - increased STD.pm convergence |
|---|
| 251 | - added %*VM hash |
|---|
| 252 | - improved MMD candidate sorting |
|---|
| 253 | - improved integration of Num and Int |
|---|
| 254 | - implemented increment on protoobjects |
|---|
| 255 | - added initial support for MAIN subs |
|---|
| 256 | - added .PARROT method |
|---|
| 257 | + Pipp999 |
|---|
| 258 | - added some predefined constants |
|---|
| 259 | - added implemention of the function basename() |
|---|
| 260 | + Cardinal (Ruby)999 |
|---|
| 261 | - Added initial support for the classes Proc, Continuation, Queue, Dir, File, and FileStat |
|---|
| 262 | - fixed various minor bugs |
|---|
| 263 | - fixed broken Regexes |
|---|
| 264 | - Compilers |
|---|
| 265 | + PCT999 |
|---|
| 266 | - added '.isa' method to PCT::Node |
|---|
| 267 | - cleaned up 'immediate block' handling |
|---|
| 268 | - allowed arguments to immediate blocks in loops/conditionals |
|---|
| 269 | - metaclass objects can now 'add_method' |
|---|
| 270 | + PIRC999 |
|---|
| 271 | - integrated macro processing in PIRC's lexer |
|---|
| 272 | - integrated heredoc lexer in PIRC executable |
|---|
| 273 | - added preprocess and heredoc-preprocess commandline options |
|---|
| 274 | - integrated the PASM grammar into PIRC |
|---|
| 275 | - added a register allocator to optimize the built-in vanilla allocator |
|---|
| 276 | - code cleanups and documentation |
|---|
| 277 | - added 'make test' target |
|---|
| 278 | + TGE999 |
|---|
| 279 | - updated to work with new namespace/classname syntax |
|---|
| 280 | - Deprecations |
|---|
| 281 | + PARROT_API will become PARROT_EXPORT999 |
|---|
| 282 | + :lexid will become :subid |
|---|
| 283 | - Miscellaneous |
|---|
| 284 | + Documentation |
|---|
| 285 | - updates and additions to the Parrot book (see docs/book/) |
|---|
| 286 | + OpenGL999 |
|---|
| 287 | - minor fixes to Parrot's base OpenGL bindings |
|---|
| 288 | - converted OpenGL PIR examples to Perl 6 (two complete, one WIP) |
|---|
| 289 | - added simplified OpenGL PIR example for NCI JIT testing |
|---|
| 290 | + Tests999 |
|---|
| 291 | - further improvements to parallel tests |
|---|
| 292 | - tests no longer leave filesystem breadcrumbs |
|---|
| 293 | - more thorough testing of Parrot::Test itself |
|---|
| 294 | |
|---|
| 295 | New in 0.8.0-79697 |
|---|
| 296 | - Implementation |
|---|
| 297 | + float precision expanded to 17 significant digits from 15 |
|---|
| 298 | + large integers autopromoted in PIR so as not to lose precision |
|---|
| 299 | + improved precision of complex square root |
|---|
| 300 | + exception handlers can register types of exceptions they catch |
|---|
| 301 | - Languages |
|---|
| 302 | + Cardinal (Ruby)999 |
|---|
| 303 | - implemented gather, take, and yield builtins |
|---|
| 304 | - Range, Time, Math, GC, Kernel classes |
|---|
| 305 | - many more tests |
|---|
| 306 | - added a new committer |
|---|
| 307 | + Markdown : new lightweight markup language999 |
|---|
| 308 | - start implementation with PCT/NQP |
|---|
| 309 | + partcl (Tcl 8.5.4) 9 |
|---|
| 310 | - Moved to its own repository: http://code.google.com/p/partcl/ |
|---|
| 311 | + Rakudo (Perl 6c9) 9 |
|---|
| 312 | - split() works with regexes |
|---|
| 313 | - implemented Str.comb |
|---|
| 314 | - ord() and chr() builtins |
|---|
| 315 | - improved parsing of literal numbers |
|---|
| 316 | - support for hyphens and dashes in identifiers |
|---|
| 317 | - next() on for-loops |
|---|
| 318 | - fixed floating point constant precision |
|---|
| 319 | - improved namespace handling, closer to STD.pm model |
|---|
| 320 | - support for exporting symbols |
|---|
| 321 | - Compilers |
|---|
| 322 | + P6c9object |
|---|
| 323 | - now generates classes in nested namespaces instead of :: names |
|---|
| 324 | - supports class creation in caller's HLL namespace |
|---|
| 325 | + PCT / PGE |
|---|
| 326 | - now using true nested namespaces instead of :: names |
|---|
| 327 | - cleaned up HLLCompiler interactive prompts and readline mode |
|---|
| 328 | - updated to use typed exception handler registration |
|---|
| 329 | - added initial support for loop control exceptions |
|---|
| 330 | + PIRC |
|---|
| 331 | - fixed Heredoc preprocessor |
|---|
| 332 | - cleaned up Macro preprocessor |
|---|
| 333 | - many code clean-ups, warning fixes and consting |
|---|
| 334 | - updated Makefile for easier compilation |
|---|
| 335 | + IMCC |
|---|
| 336 | - Added .tailcall syntax to replace .return in tailcall context |
|---|
| 337 | - Examples |
|---|
| 338 | + pirric (BASIC) |
|---|
| 339 | - an old style line numbered Basic interpreter able to use parrot objects |
|---|
| 340 | - example connecting to mysql via nci |
|---|
| 341 | - example using classes to write and run an embedded Basic program |
|---|
| 342 | - Documentation |
|---|
| 343 | + Book |
|---|
| 344 | - Added chapters for PCT, PMCs, and Opcodes/Runcores |
|---|
| 345 | - Expanded and improved formatting in various chapters |
|---|
| 346 | - Renumbered chapters |
|---|
| 347 | |
|---|
| 348 | |
|---|
| 349 | New in 0.7.1-79697 |
|---|
| 350 | - Implementation |
|---|
| 351 | + add -I and -L command line options |
|---|
| 352 | + support for null strings in NCI calls |
|---|
| 353 | + preliminary support for resumable exceptions |
|---|
| 354 | + add '.hll_map' method for dynamic HLL type mapping |
|---|
| 355 | + more parrot_debugger fixes |
|---|
| 356 | + remove obsolete '.past' extension |
|---|
| 357 | - Languages |
|---|
| 358 | + Rakudo (Perl 6c9) |
|---|
| 359 | - now over 3300 passing spectests |
|---|
| 360 | - precompiled modules |
|---|
| 361 | - precompiled scripts (--target=pir can now be executed standalone) |
|---|
| 362 | - Support for @*INC and %*INC varialbes |
|---|
| 363 | - additional builtin methods and subs |
|---|
| 364 | - added 'fail' function, warnings on use of undefined values |
|---|
| 365 | - m/.../ regexes |
|---|
| 366 | - qq, qw, q quoting forms |
|---|
| 367 | - run tests in parallel |
|---|
| 368 | - gather/take |
|---|
| 369 | - Perl6MultiSub |
|---|
| 370 | + Cardinal (Ruby): |
|---|
| 371 | - 'require' and precompiled modules |
|---|
| 372 | - many new tests |
|---|
| 373 | - all Array tests pass |
|---|
| 374 | - regexes |
|---|
| 375 | - default arguments to functions |
|---|
| 376 | - new committer |
|---|
| 377 | - Compilers |
|---|
| 378 | + PCT: |
|---|
| 379 | - add :loadinit attribute for PAST::Block |
|---|
| 380 | + PIRC: |
|---|
| 381 | - major refactoring to allow all PIR keywords as identifiers |
|---|
| 382 | - links to libparrot now, so all Parrot ops are recognized as such |
|---|
| 383 | - implemented .loadlib, .HLL_map, .HLL |
|---|
| 384 | - Miscellaneous |
|---|
| 385 | + add Xlib and Mysql modules and test programs to NCI examples |
|---|
| 386 | + many updates and cleanups to PDD documents |
|---|
| 387 | |
|---|
| 388 | New in 0.7.0-79697 |
|---|
| 389 | - Specification |
|---|
| 390 | + PDD27: add multisub lookup |
|---|
| 391 | - Implementation |
|---|
| 392 | + new concurrency implementation (see PDD25) |
|---|
| 393 | + Exception PMC now captures a return continuation |
|---|
| 394 | + improved PMC encapsulation (Iterator, Key, Pair) |
|---|
| 395 | - Languages |
|---|
| 396 | + Cardinal (Ruby): |
|---|
| 397 | - class variables |
|---|
| 398 | - parsing improvements |
|---|
| 399 | - minor additions to class builtins |
|---|
| 400 | - add support for block parameters to functions |
|---|
| 401 | + Lua: |
|---|
| 402 | - various language fixes |
|---|
| 403 | - refactor all libraries (namespace, method registration) |
|---|
| 404 | - add a OpenGL binding (still incomplete) |
|---|
| 405 | - lost user back trace (see ppd25 & pushaction) |
|---|
| 406 | + Pipp (PHP): |
|---|
| 407 | - add support for while- and for-loops |
|---|
| 408 | - add support for increment and decrement |
|---|
| 409 | - designate PHP 5.3 as the reference implementation |
|---|
| 410 | - improve support for string literals |
|---|
| 411 | + Pugs (Perl 6c9): |
|---|
| 412 | - removed due to bit rot |
|---|
| 413 | + Rakudo (Perl 6c9):or 969 |
|---|
| 414 | - now over 2200 passing spectests |
|---|
| 415 | - updated the Rakudo roadmap |
|---|
| 416 | - Perl 6 multi dispatch |
|---|
| 417 | - dispatch with slurpies |
|---|
| 418 | - class attributes ("my $.x") |
|---|
| 419 | - anonymous classes |
|---|
| 420 | - OO and metaclass improvements (.WHAT, .WHICH, .WHENCE) |
|---|
| 421 | - additional builtin methods and subs |
|---|
| 422 | - improved make test targets and harness |
|---|
| 423 | + Tcl: |
|---|
| 424 | - implement [lreverse], [lsort -command] |
|---|
| 425 | - allow [incr] to autovivify |
|---|
| 426 | - update tclsh spec target to 8.5.3 |
|---|
| 427 | - fix bug in TclDict PMC, allowing ~200 more [dict] spec tests to pass |
|---|
| 428 | - update 'make spectest' fudging, using TODO instead of SKIP if possible |
|---|
| 429 | - Compilers |
|---|
| 430 | + PCT: |
|---|
| 431 | - :scope('register') for PAST::Var nodes |
|---|
| 432 | - allow invocant specification in attribute scope PAST::Var nodes |
|---|
| 433 | - correct ordering of sub generation from POST |
|---|
| 434 | - add 'loadinit' attribute to PAST::Block for block initialization |
|---|
| 435 | + PIRC: |
|---|
| 436 | - PIR registers now use the vanilla register allocator |
|---|
| 437 | - all PASM output now uses PASM registers |
|---|
| 438 | - all .locals and $registers are mapped |
|---|
| 439 | - clean-up of grammar, back-end and documentation |
|---|
| 440 | - implemented constant folding |
|---|
| 441 | - implemented instruction selection |
|---|
| 442 | - Configuration |
|---|
| 443 | + tests now clean up after themselves |
|---|
| 444 | + improved parallel test support |
|---|
| 445 | + ports/cygwin added |
|---|
| 446 | + Darwin problems fixed |
|---|
| 447 | - Tools |
|---|
| 448 | + parrot_debugger renamed from pdb, numerous tweaks |
|---|
| 449 | - Miscellaneous |
|---|
| 450 | + IMCC cleanups |
|---|
| 451 | + :vtable implies self in PIR |
|---|
| 452 | + modest core speed improvements |
|---|
| 453 | + Cygwin support improved |
|---|
| 454 | + "say" now an opcode (was dispatched to a method; see Deprecations) |
|---|
| 455 | - Deprecations |
|---|
| 456 | + ".pragma n_operators" is deprecated |
|---|
| 457 | + old PASM register syntax (without "$") is deprecated |
|---|
| 458 | + bare (unquoted) method names are deprecated |
|---|
| 459 | + "#line" will be replaced with ".line" |
|---|
| 460 | + ".HLL_map" syntax will change |
|---|
| 461 | + ".loadlib" is now separate from ".HLL" |
|---|
| 462 | + mmdvtregister and mmdvtablefind opcodes are deprecated |
|---|
| 463 | + removed getfd, getclass opcodes |
|---|
| 464 | + removed IMCC syntax that treated some methods as builtins |
|---|
| 465 | + removed numeric get_attr and set_attr vtable entries |
|---|
| 466 | |
|---|
| 467 | New in 0.6.4 |
|---|
| 468 | - Documentation |
|---|
| 469 | + removed a lot of old information from the FAQ |
|---|
| 470 | + improved function level documentation |
|---|
| 471 | - Configuration |
|---|
| 472 | + removed the configuration item 'has_gnu_m4' |
|---|
| 473 | + refactored ICU-detection |
|---|
| 474 | - Languages |
|---|
| 475 | + ChitChat |
|---|
| 476 | - improved the Smalltalk implementation |
|---|
| 477 | + Pipp |
|---|
| 478 | - renamed Plumhead to Pipp |
|---|
| 479 | - support for a lot of builtin functions. |
|---|
| 480 | - Pipp now uses PHP specific data types. |
|---|
| 481 | - converted from PCT with TGE to PCT with NQP actions |
|---|
| 482 | - improvements in the PCT variant by using optok parsing |
|---|
| 483 | - start of object support |
|---|
| 484 | + pir |
|---|
| 485 | - simple assignments work |
|---|
| 486 | + json |
|---|
| 487 | - added a PCT-based implementation of JSON parsing |
|---|
| 488 | + lolcode |
|---|
| 489 | - improved handling of symbols |
|---|
| 490 | - added support for block handling |
|---|
| 491 | - added support for globals |
|---|
| 492 | + Lua |
|---|
| 493 | - more tests |
|---|
| 494 | + Rakudo |
|---|
| 495 | - updated Range implementation |
|---|
| 496 | - added enums |
|---|
| 497 | - added generic type declarations (::T) |
|---|
| 498 | - added runtime mixing of roles with 'does' and 'but' |
|---|
| 499 | - fixed handling of implicit lexicals ($_, $!, and $/) |
|---|
| 500 | - fixed implicit method calls on $_ |
|---|
| 501 | - improved complex math builtins, added Complex |
|---|
| 502 | - moved many builtins to class Any |
|---|
| 503 | - declaration of lists of variables now work |
|---|
| 504 | - improved test infrastructure |
|---|
| 505 | - 910 additional passing spec tests since last release |
|---|
| 506 | - more convergence with STD.pm grammar |
|---|
| 507 | - added named 0-ary parsing and ops |
|---|
| 508 | - Compilers |
|---|
| 509 | + PCT: |
|---|
| 510 | - allowed subroutine and method names to be a PAST tree that produces the name |
|---|
| 511 | - Improved lexical handling |
|---|
| 512 | - Tools |
|---|
| 513 | + pbc_disassemble renamed from disassemble |
|---|
| 514 | - Implementation |
|---|
| 515 | + allowed .macro_const in PIR |
|---|
| 516 | + added the flag :lexid(...) for subroutines |
|---|
| 517 | + made multiple dispatch work for sub types |
|---|
| 518 | + fixed garbage collection bug related to the metadata attached to a PMC_EXT structure |
|---|
| 519 | + added a warning when using deprecated opcodes |
|---|
| 520 | + simplified the stacks implementation |
|---|
| 521 | + fixed C++ build |
|---|
| 522 | + improved closure and lexical support |
|---|
| 523 | + improved IMCC register allocator |
|---|
| 524 | + added cache for all runtime-constant strings, reducing memory usage |
|---|
| 525 | - Miscellaneous |
|---|
| 526 | + improved OpenGL/GLU/GLUT bindings |
|---|
| 527 | + added a standard profile for Perl::Critic coding standard testing |
|---|
| 528 | + added support for smoke testing with Smolder |
|---|
| 529 | + enabled use of Test::Harness 3.0 if available, but don't require it for 'make test' |
|---|
| 530 | + added the executable 'parrot_config' to query Parrot configuration |
|---|
| 531 | |
|---|
| 532 | New in 0.6.3 |
|---|
| 533 | - Specification |
|---|
| 534 | + updated pdd09_gc.pod |
|---|
| 535 | - Languages |
|---|
| 536 | + Cardinal: |
|---|
| 537 | - dramatically improved parsing speed |
|---|
| 538 | - added support for defining and instantiating classes |
|---|
| 539 | - started fleshing out the builtin class hierarchy |
|---|
| 540 | - added support for hashes and arrays |
|---|
| 541 | + Chitchat: added the start of a smalltalk compiler |
|---|
| 542 | + Pheme: updated to match PGE changes |
|---|
| 543 | + Pynie: return statement, other minor updates |
|---|
| 544 | + Rakudo: |
|---|
| 545 | - added working list and hash contexts |
|---|
| 546 | - added 'return' statements |
|---|
| 547 | - added => pair constructor |
|---|
| 548 | - added ?? !! ternary |
|---|
| 549 | - added Range, range operators, Complex |
|---|
| 550 | - added common List, Hash methods |
|---|
| 551 | - refactored base classes |
|---|
| 552 | - added Mutable, Perl6Scalar classes |
|---|
| 553 | - added type-checking, is readonly/rw/copy for parameters |
|---|
| 554 | - added make localtest, docs/spectest-progress.csv |
|---|
| 555 | - fix named unaries |
|---|
| 556 | + Squaak: implement return statement |
|---|
| 557 | + Tcl: updated control flow exceptions to use new builtin types |
|---|
| 558 | - Compilers |
|---|
| 559 | + All tools converted to P6object metamodel |
|---|
| 560 | + PGE: |
|---|
| 561 | - <?foo> is now a zero-width match |
|---|
| 562 | - reduced backtracking to improve parsing speed |
|---|
| 563 | + PCT: |
|---|
| 564 | - added "return" PAST.op node type for subroutine returns |
|---|
| 565 | - added "keyed_int" scoping to PAST::Var |
|---|
| 566 | - fixed calls to closures |
|---|
| 567 | - automatically transcode 7-bit unicode to ascii for faster processing |
|---|
| 568 | + NQP: added "return" statement, ?? !! ternary operator |
|---|
| 569 | - Configuration |
|---|
| 570 | + expanded step gen::opengl |
|---|
| 571 | - Implementation |
|---|
| 572 | + updated function and macro names to match pdd09_gc.pod |
|---|
| 573 | + removed Super PMC |
|---|
| 574 | + add ".namespace []" as alternative to ".namespace" |
|---|
| 575 | + "make codetest" target runs standard coding tests |
|---|
| 576 | - Miscellaneous |
|---|
| 577 | + added P6object class for Perl 6 interfaces to objects in Parrot |
|---|
| 578 | + ported OpenGL/GLU/GLUT bindings to Win32, BSD, and more Mac OS X variants |
|---|
| 579 | + generate OpenGL/GLU/GLUT bindings by parsing system headers |
|---|
| 580 | + new OpenGL example shapes.pir, covering basic OpenGL 1.1 / GLUT 3 APIs |
|---|
| 581 | + new float4.pir structure-packing benchmark |
|---|
| 582 | + reduced memory use for variables |
|---|
| 583 | + improved constant string caching |
|---|
| 584 | + made code g++ and gcc (with optimizations) safe |
|---|
| 585 | + the usual collection of bugfixes and optimizations |
|---|
| 586 | |
|---|
| 587 | New in 0.6.2 |
|---|
| 588 | - Specification |
|---|
| 589 | + updated and launched pdd28_strings.pod |
|---|
| 590 | + updated pdd19_pir.pod |
|---|
| 591 | - Implementation |
|---|
| 592 | + added implementation of Rational PMC. |
|---|
| 593 | + simplified ops control flow syntax |
|---|
| 594 | + enabled backtrace on non-glibc platforms too |
|---|
| 595 | + improved some PIR error reporting |
|---|
| 596 | + removed user stack opcodes |
|---|
| 597 | (save, restore, lookback, entrytype, depth, rotate_up) |
|---|
| 598 | (NOTE: This was scheduled to occur after 0.7.0, moved up to this release) |
|---|
| 599 | + removed register stack, saveall, and restoreall opcodes |
|---|
| 600 | + removed various deprecated features and unused code |
|---|
| 601 | - Languages |
|---|
| 602 | + Amber: retired |
|---|
| 603 | + C99: grammar updated |
|---|
| 604 | + Cardinal: resurrected, method calls and do blocks work now |
|---|
| 605 | + Eclectus: use NQP as PAST generating code |
|---|
| 606 | + Lua: |
|---|
| 607 | - added big number library |
|---|
| 608 | - updated to match PGE changes |
|---|
| 609 | - added a bytecode disassembler & a Lua 5.1 VM bytecode translator |
|---|
| 610 | + Pheme: updated to match PGE/PCT changes |
|---|
| 611 | + Plumhead: |
|---|
| 612 | - use NQP as PAST generating code |
|---|
| 613 | - use riaxpander for macro expansion |
|---|
| 614 | + Rakudo: |
|---|
| 615 | - updated ROADMAP |
|---|
| 616 | - conditional and loop statement modifiers |
|---|
| 617 | - lots of class, object, role, and method improvements |
|---|
| 618 | - Str increment and decrement |
|---|
| 619 | - improved spectest reporting |
|---|
| 620 | - type checking on assignment |
|---|
| 621 | - regexes and grammars |
|---|
| 622 | - undef and self |
|---|
| 623 | - placeholder vars |
|---|
| 624 | roadmap updated |
|---|
| 625 | + Squaak: added to repository |
|---|
| 626 | + TAP: retired |
|---|
| 627 | - Compilers |
|---|
| 628 | + PGE: updated to match Synopsis 5, deprecated features removed |
|---|
| 629 | + PCT: |
|---|
| 630 | - improve handling of register types, conversion between registers |
|---|
| 631 | - improved error diagnostics |
|---|
| 632 | - add 'arity' to for loops |
|---|
| 633 | - Configuration |
|---|
| 634 | + added step auto::opengl |
|---|
| 635 | + added step gen::opengl |
|---|
| 636 | + added step gen::call_list |
|---|
| 637 | - Miscellaneous |
|---|
| 638 | + still more optimizations and performance improvements, especially in GC |
|---|
| 639 | + new libraries: OpenGL/GLU/GLUT bindings (small subset working) |
|---|
| 640 | + new dump_pbc.pl utility: PBC disassembly/source code weaver |
|---|
| 641 | + improved C++ compiler support |
|---|
| 642 | + optimized builds work again |
|---|
| 643 | |
|---|
| 644 | |
|---|
| 645 | New in 0.6.1 |
|---|
| 646 | - Specification |
|---|
| 647 | + drafted pdd29_compiler_tools.pod |
|---|
| 648 | + updated pdd28_character_sets.pod draft |
|---|
| 649 | + updated pdd19_pir.pod draft |
|---|
| 650 | - Languages |
|---|
| 651 | + c99: added independent C pre-processor |
|---|
| 652 | + HQ9+: reimplemented with PCT |
|---|
| 653 | + Lua: |
|---|
| 654 | . reimplementation with PCT, using PAST and POST |
|---|
| 655 | . behavior aligned wih 5.1.3 |
|---|
| 656 | + Rakudo: |
|---|
| 657 | . implemented basic I/O, including '$*IN', '$*OUT', '$*ERR', 'prefix:=' |
|---|
| 658 | . implemented simple typing and runtime type checking |
|---|
| 659 | . added basic multi-method dispatch |
|---|
| 660 | . expanded named argument handling, including Pair and colonpairs |
|---|
| 661 | . added 'Whatever' and 'Capture' classes |
|---|
| 662 | . implemented 'handles' trait verb |
|---|
| 663 | . added 'loop' statement |
|---|
| 664 | . implemented 'given', 'when', 'for', 'while', 'until' statement modifiers |
|---|
| 665 | . implemented Hash methods '.keys' and '.values' |
|---|
| 666 | . fixed bug to get '.WHAT' working correctly |
|---|
| 667 | . initial implementation of 'eval' |
|---|
| 668 | - Compilers |
|---|
| 669 | + NQP: |
|---|
| 670 | . created a bootstrapped build, see 'make boot' |
|---|
| 671 | . added 'infix:<', 'infix:<=', 'infix:>', 'infix:>=' relational operators |
|---|
| 672 | . added 'postfix:++', 'postfix:--' operators |
|---|
| 673 | + PCT: |
|---|
| 674 | . added methods specifying default behaviors in PAST, reducing repeated code |
|---|
| 675 | . improved symbol table lookup |
|---|
| 676 | + PGE: |
|---|
| 677 | . removed deprecated code including: P6Regex, P6Grammar, PAST-pm |
|---|
| 678 | - Miscellaneous |
|---|
| 679 | + notable speedups during compilation and execution of parrot and HLLs |
|---|
| 680 | + pdb (the parrot debugger) can now catch parrot exceptions |
|---|
| 681 | + better detection of glibc and gettext during configuration |
|---|
| 682 | + various bugfixes, code cleanups, deprecations, and coding standard fixes |
|---|
| 683 | |
|---|
| 684 | |
|---|
| 685 | New in 0.6.0 |
|---|
| 686 | - Specification |
|---|
| 687 | + launched pdd18_security.pod |
|---|
| 688 | + updated pdd17_pmc.pod |
|---|
| 689 | + launching draft of pdd28_character_sets.pod |
|---|
| 690 | - Documentation |
|---|
| 691 | + cleanup of IMCC documentation |
|---|
| 692 | - Configuration |
|---|
| 693 | + add step auto::gettext |
|---|
| 694 | + add step auto::crypto |
|---|
| 695 | - Compilers |
|---|
| 696 | + PCT: |
|---|
| 697 | . Fix '-e' option |
|---|
| 698 | . Phase out P6Regex in favor of Perl6Regex |
|---|
| 699 | + IMCC: |
|---|
| 700 | '.local Array my_arr' is illegal now |
|---|
| 701 | - Languages |
|---|
| 702 | + C99: reimplementation with PCT |
|---|
| 703 | + lolcode: |
|---|
| 704 | . various updates |
|---|
| 705 | . add support for functions with params |
|---|
| 706 | . add math functions |
|---|
| 707 | + Rakudo: |
|---|
| 708 | . support for 'say' |
|---|
| 709 | . first cut at smart matching |
|---|
| 710 | . indirect method calls |
|---|
| 711 | . support for Pairs |
|---|
| 712 | . added methods 'grep' and 'first' |
|---|
| 713 | . implement auto{increment,decrement} |
|---|
| 714 | . initial implementation of 'perl6doc' |
|---|
| 715 | + Lua: |
|---|
| 716 | . various updates |
|---|
| 717 | . add base64 library |
|---|
| 718 | + Cardinal: basic support for functions with parameters |
|---|
| 719 | + Pheme: various updates |
|---|
| 720 | + Ecmascript: various updates |
|---|
| 721 | + Tcl: now targeting tcl 8.5.1, no more expected failures in test suite. |
|---|
| 722 | (No, this doesn't mean everything's implemented. =-) |
|---|
| 723 | + Eclectus: various updates |
|---|
| 724 | + WMLScript: various updates |
|---|
| 725 | - Implementation |
|---|
| 726 | + PDD17 (PMCs) |
|---|
| 727 | + Add library YAML::Dumper |
|---|
| 728 | + Add the MD2, MD4, MD5, RIPEMD160, SHA & SHA1 PMC, as a wrapper |
|---|
| 729 | around libcrypto |
|---|
| 730 | - Miscellaneous |
|---|
| 731 | + various bugfixes, code cleanups and coding standard fixes |
|---|
| 732 | + consting |
|---|
| 733 | + remove external Perl 5 modules from the Parrot distribution |
|---|
| 734 | |
|---|
| 735 | New in 0.5.3 |
|---|
| 736 | - Documentation |
|---|
| 737 | + PDD09 (garbage collection) - approved |
|---|
| 738 | + PDD28 (character sets) - draft started |
|---|
| 739 | + added function documentation to some core functions |
|---|
| 740 | + PCT beginners guide, optable guide and PAST nodes guide, bug fixes |
|---|
| 741 | - Compilers |
|---|
| 742 | + IMCC: plugged various memory leaks and other cleanups |
|---|
| 743 | + PCT: |
|---|
| 744 | . add "attribute" as a scope variant to PAST::Var nodes |
|---|
| 745 | . add 'shift' and 'pop' methods to PAST:: nodes |
|---|
| 746 | + NQP: add '=:=' op, tests for scalar and list contextualizers, \x escapes |
|---|
| 747 | - Languages |
|---|
| 748 | + APL: reimplementation with PCT |
|---|
| 749 | + Cardinal (Ruby): reimplemention with PCT |
|---|
| 750 | + Ecmascript: reimplementation with PCT |
|---|
| 751 | + lolcode: improved expression parsing, ifthen, IT, YARN |
|---|
| 752 | + lua: |
|---|
| 753 | . aligned with Lua official release 5.1.3. |
|---|
| 754 | . added initial PCT-based implementation. |
|---|
| 755 | + Punie (Perl 1): refactor to use standard PCT-based filenames |
|---|
| 756 | + Pynie (Python): add functions |
|---|
| 757 | + Rakudo (Perl 6): |
|---|
| 758 | . rebranded, formerly known as 'perl6' |
|---|
| 759 | . passes many more official Perl 6 Specification tests |
|---|
| 760 | . added 'perl6doc' utility |
|---|
| 761 | . oo including meta?classes, objects, methods, attributes, role composition |
|---|
| 762 | . match variables, while/until statements, traits |
|---|
| 763 | . many new methods for Str, List, Hash, Junction |
|---|
| 764 | - Implementation |
|---|
| 765 | - Deprecations |
|---|
| 766 | + PCCINVOKE syntax for named arguments using []; use () instead. |
|---|
| 767 | + see DEPRECATED.pod for details |
|---|
| 768 | - Miscellaneous |
|---|
| 769 | + pbc_to_exe refactored for code reduction, portability, and maintainability |
|---|
| 770 | + various bug fixes |
|---|
| 771 | + #line directives added to generated JIT files, improving debugging |
|---|
| 772 | + consting, attribute marking, refactoring, warnings cleanup |
|---|
| 773 | |
|---|
| 774 | New in 0.5.2 |
|---|
| 775 | - Documentation |
|---|
| 776 | + PDD27 (multiple dispatch) - debut of new design |
|---|
| 777 | + Numerous small updates to glossary.pod, etc |
|---|
| 778 | - Compiler Toolkit |
|---|
| 779 | + NQP: optional, named, and named/required parameters |
|---|
| 780 | + PIRC: cleanups |
|---|
| 781 | + PAST: "defined-or" |
|---|
| 782 | - Languages |
|---|
| 783 | + New mk_language_shell.pl script creates language stubs |
|---|
| 784 | + LOLCODE: new |
|---|
| 785 | + Lua: various |
|---|
| 786 | + Eclectus: start with support for local variables and procedures, |
|---|
| 787 | use SXML as intermediate representation |
|---|
| 788 | + Perl 6: list builtins, compiler directives, command-line options, etc. |
|---|
| 789 | + "make perl6" now builds a Perl 6 executable |
|---|
| 790 | + punie: more builtins, control structures, code refactoring |
|---|
| 791 | + pynie: builtin stubs, more tests |
|---|
| 792 | - Implementation |
|---|
| 793 | + New "pbc_to_exe" utility turns bytecode to executables |
|---|
| 794 | + New set_outer method for subs |
|---|
| 795 | + Further configuration refactoring for testability |
|---|
| 796 | + All functions now completely headerized |
|---|
| 797 | + Concurrency: interpreter schedulers |
|---|
| 798 | - Deprecations |
|---|
| 799 | + DYNSELF (changes to SELF; SELF to STATICSELF) |
|---|
| 800 | + METHOD (replaced by renaming PCCMETHOD) |
|---|
| 801 | + pmcinfo op (superseded by 'inspect') |
|---|
| 802 | + get_attr, set_attr, and 8 other vtable methods |
|---|
| 803 | + See DEPRECATED.pod for details |
|---|
| 804 | - Miscellaneous |
|---|
| 805 | + Many bug fixes |
|---|
| 806 | + Minor speed enhancements with UTF-8 string handling |
|---|
| 807 | + Debian packaging |
|---|
| 808 | + consting, attribute marking, warnings cleanup, memory leaks plugged ... |
|---|
| 809 | |
|---|
| 810 | New in 0.5.1 |
|---|
| 811 | - Documentation |
|---|
| 812 | + PDD19 (PIR) - reflect state on the ground; incorporate old IMCC docs |
|---|
| 813 | + PDD25 (Concurrency) - launch out of draft |
|---|
| 814 | + Improve documentation of deprecated parrot features. |
|---|
| 815 | - Compilers |
|---|
| 816 | + PCT: Parrot Compiler Toolkit redesigned and updated |
|---|
| 817 | + NQP: major updates, including support for namespaces, |
|---|
| 818 | module/class declarations, methods |
|---|
| 819 | + IMCC: remove .sym as alias for .local. Remove .pcc_ |
|---|
| 820 | prefix for calling directives (.pcc_begin became .begin_call). |
|---|
| 821 | + PIRC: creates an AST during the parse. |
|---|
| 822 | + PGE: more updates to match S05 syntax. |
|---|
| 823 | - Languages |
|---|
| 824 | + perl6: re-implemented using PCT and NQP, new object subsystem |
|---|
| 825 | + abc: re-implemented using PCT and NQP |
|---|
| 826 | + eclectus: initial implementation |
|---|
| 827 | + plumhead: add PCT variant |
|---|
| 828 | + punie: re-implemented using PCT and NQP, extended to handle subroutines |
|---|
| 829 | Happy 20th Birthday, Perl! |
|---|
| 830 | + pynie: re-implemented using PCT and NQP |
|---|
| 831 | + PIR: start conversion to NQP (under construction) |
|---|
| 832 | - Implementation |
|---|
| 833 | + new opcodes: 'die', 'addhandler', 'copy' |
|---|
| 834 | + Initial implementation of Concurrency PDD |
|---|
| 835 | + Add 'arity' method to Sub and NCI PMCs |
|---|
| 836 | - Miscellaneous |
|---|
| 837 | + Bug cleanup |
|---|
| 838 | + consting, attribute marking, warnings cleanup, memory leaks, GC... |
|---|
| 839 | + dead code removal (includes some defunct languages) |
|---|
| 840 | |
|---|
| 841 | New in 0.5.0 |
|---|
| 842 | - Implementation |
|---|
| 843 | + PDD15 (OO) branch merged with trunk; this release contains a working, |
|---|
| 844 | tested implementation of the latest OO model |
|---|
| 845 | + Added pop_eh/push_eh_p/count_eh opcodes |
|---|
| 846 | + Add --runcore command line option |
|---|
| 847 | + Add gcdebug runcore to help track down GC bugs |
|---|
| 848 | + minor improvements to IA-32 JIT |
|---|
| 849 | - Documentation |
|---|
| 850 | + PDD19 (PIR): updates to macros, .pcc* directives |
|---|
| 851 | + PDD25 (Concurrency): updated |
|---|
| 852 | + PDD26 (AST): draft approved |
|---|
| 853 | + PDD23 (Exceptions): draft approved |
|---|
| 854 | + Copyright cleanups |
|---|
| 855 | - Languages/Compilers |
|---|
| 856 | + languages/APL: minor updates, PDD15 conformance |
|---|
| 857 | + languages/dotnet: minor updates |
|---|
| 858 | + languages/lua: minor updates, PDD15 conformance |
|---|
| 859 | + languages/lisp: minor updates |
|---|
| 860 | + languages/perl6: minor updates, PDD15 conformance |
|---|
| 861 | + languages/plumhead: minor updates |
|---|
| 862 | + languages/punie: minor updates, PDD15 conformance |
|---|
| 863 | + languages/nqp: minor updates |
|---|
| 864 | + languages/scheme: many updates, PDD15 conformance, improved tests, use |
|---|
| 865 | PMCs instead of primitive registers to represent values |
|---|
| 866 | + languages/tcl: bugfixes, PDD15 conformance |
|---|
| 867 | + languages/WMLScript: minor updates |
|---|
| 868 | + compilers/pirc: updates from PDD19, PDD06 |
|---|
| 869 | + compilers/pct: minor updates, PDD15 conformance |
|---|
| 870 | + compilers/pge: PDD15 conformance |
|---|
| 871 | + compilers/tge: PDD15 conformance |
|---|
| 872 | - Configuration |
|---|
| 873 | + Improve test coverage |
|---|
| 874 | + Improve reporting when a step fails; allow abort on failure |
|---|
| 875 | - Miscellaneous |
|---|
| 876 | + More coding standard conformance, tests, cleanup, speedups, |
|---|
| 877 | warnings cleanup |
|---|
| 878 | + Bug cleanup, esp. GC bugs |
|---|
| 879 | + Eliminate .imc extension (use .pir) |
|---|
| 880 | + Simplify some core config steps to not allow interactive prompting |
|---|
| 881 | - Removed |
|---|
| 882 | + clear_eh opcode |
|---|
| 883 | |
|---|
| 884 | New in 0.4.17 |
|---|
| 885 | - Implementation |
|---|
| 886 | + Bug fixes (including Coverity IDs 20, 22, 30, 119-122, 124-126, 129-131) |
|---|
| 887 | Also various GC, memory, and segfault issues |
|---|
| 888 | + Fix & reenable CGP core |
|---|
| 889 | + Parrot's -r flag now works again (compile to and execute bytecode) |
|---|
| 890 | + Updates to pmc2c & PIR syntaxes |
|---|
| 891 | + Fix Complex PMC |
|---|
| 892 | + Minor performance improvements, especially in PGE |
|---|
| 893 | - Documentation |
|---|
| 894 | + PDD02 "Vtables" - superceded by PDD17 |
|---|
| 895 | + PDD06 "PASM" - minor updates |
|---|
| 896 | + PDD17 "PMC" - add VTABLE syntax, update core PMC struct, restore UnionVal |
|---|
| 897 | + PDD19 "PIR" - early review started |
|---|
| 898 | + PDD21 "Namespaces" - cleanup |
|---|
| 899 | + PDD24 "Events" - draft approved |
|---|
| 900 | + PDD25 "Concurrency" - minor updates |
|---|
| 901 | + PDD26 "AST" - draft version begun |
|---|
| 902 | + PIR tutorials updated |
|---|
| 903 | - Languages/Compilers |
|---|
| 904 | + Make scheme work with the current calling conventions, other major work. |
|---|
| 905 | + Updates to m4, lua, compilers/pirc, languages/PIR, dotnet, tcl |
|---|
| 906 | - Miscellaneous: |
|---|
| 907 | + make -j functional again |
|---|
| 908 | + Code cleanup (refactoring, optimizations) |
|---|
| 909 | |
|---|
| 910 | New in 0.4.16 |
|---|
| 911 | - Implementation: |
|---|
| 912 | + Performed code review on every PMC |
|---|
| 913 | + Modified PMC code generation to use Storable, reducing compile times |
|---|
| 914 | + Added a makefile target to generate test coverage data of C sources |
|---|
| 915 | - Languages: |
|---|
| 916 | + NQP: added lists, for loops, operators, comparison and multiplicative operators |
|---|
| 917 | + Announced Kea-CL, Kea Common Lisp, an ANSI Common Lisp implementation |
|---|
| 918 | The repository is available at https://rgrjr.dyndns.org/svn/kea-cl/trunk/ |
|---|
| 919 | - Documentation |
|---|
| 920 | + PDD17 "PMCs" - draft approved, the design is complete |
|---|
| 921 | + Added more PIR tutorials, see examples/tutorial/00_README.pod |
|---|
| 922 | - Miscellaneous: |
|---|
| 923 | + Many bugfixes, enhancements, documentation, and coding standard updates |
|---|
| 924 | + Deprecated PMC constants and other crufty syntax, see DEPRECATED.pod |
|---|
| 925 | + Improved icc compiler compatibility for error line reporting |
|---|
| 926 | |
|---|
| 927 | New in 0.4.15 |
|---|
| 928 | - Implementation: |
|---|
| 929 | + Lots of code review, many bugs fixed |
|---|
| 930 | + Many more code cleanups and compiler warning levels |
|---|
| 931 | + Started a new jit engine for 64-bit processors |
|---|
| 932 | + Refactored configure process, with tests and new diagnostic options |
|---|
| 933 | + Added new CodeString PMC for dynamic generation of PIR code |
|---|
| 934 | + More pdd15 support for object metamodel. |
|---|
| 935 | - Languages: |
|---|
| 936 | + Added NQP ("Not Quite Perl"), a very lightweight Perl 6-like language |
|---|
| 937 | + Significant improvements and refactors to PCT (Parrot Compiler Toolkit) |
|---|
| 938 | + perl6 passes more spec tests |
|---|
| 939 | + Lua works now with a PGE/TGE/PAST-pm based compiler, lives in one pbc, |
|---|
| 940 | and the interpreter has same behavior as original. |
|---|
| 941 | - Documentation |
|---|
| 942 | + Added a committers' HOWTO |
|---|
| 943 | + More PIR tutorial examples |
|---|
| 944 | + Added PAUSE guide |
|---|
| 945 | |
|---|
| 946 | New in 0.4.14 |
|---|
| 947 | - Now, with Seat Belts! |
|---|
| 948 | + added makefile targets for Sun lint, BSD lint, and splint |
|---|
| 949 | + corrected many errors picked up by these tools |
|---|
| 950 | + decorated source code with compiler hints, assertions, and attribute macros |
|---|
| 951 | + automated creation of function declarations to prevent common errors |
|---|
| 952 | + increased compiler warnings levels |
|---|
| 953 | + converted more exceptions to a recoverable form |
|---|
| 954 | - Languages: |
|---|
| 955 | + updated Lisp, Lua, Perl 6, tcl, regex, Scheme ("Pheme") |
|---|
| 956 | + Perl 6 now fetches selected tests from pugs, and even passes some |
|---|
| 957 | + PGE modified to handle {*} action subs for top-down and bottom-up parsers, |
|---|
| 958 | and to allow grammar subclassing |
|---|
| 959 | + HLLCompiler now has better exception, eval, and exit support |
|---|
| 960 | + Introduced PCT, a refactor of HLLCompiler and PAST-pm |
|---|
| 961 | - Design: |
|---|
| 962 | + PDD15 "Objects" - details added to 'new' and 'getattribute' opcodes |
|---|
| 963 | + PDD17 "PMCs" - notes added on instantiation and dynamic extention in PIR |
|---|
| 964 | - Documentation: |
|---|
| 965 | + added Parrot-related text from "Perl 6 and Parrot Essentials" book, |
|---|
| 966 | tutorial examples from "Learning PIR" talk, and PDD15 metamodel diagrams |
|---|
| 967 | - Implementation: |
|---|
| 968 | + reduced memory footprint when using named registers |
|---|
| 969 | + implemented overridding of vtable methods by PDD15 classes |
|---|
| 970 | + improved PDD15 support for 'new', 'instantiate', and others |
|---|
| 971 | + added makefile targets to ease core and HLL makefile regeneration |
|---|
| 972 | + updated parrot dubugger, "pdb", to allow loading of commands from file |
|---|
| 973 | - Misc: |
|---|
| 974 | + many bugfixes, enhancements, documentation, and coding standard updates |
|---|
| 975 | |
|---|
| 976 | New in 0.4.13 |
|---|
| 977 | - Languages: |
|---|
| 978 | + Updated Lisp, Lua, PHP ("Plumhead"), Python ("Pynie"), ABC, |
|---|
| 979 | WMLScript, and Tcl ("ParTcl"). |
|---|
| 980 | + Perl 6 passes all of the sanity tests. |
|---|
| 981 | + PGE supports latest Perl 6 grammar syntax. Perl 6, Python |
|---|
| 982 | ("Pynie"), and ABC parsers updated to match. |
|---|
| 983 | + Updated PHP ("Plumhead") to Antlr 3.0. |
|---|
| 984 | + Lua added the beginnings of a PGE/TGE based compiler (not yet |
|---|
| 985 | replacing the Perl/Yapp compiler). |
|---|
| 986 | + Lisp updated for current features, added a test suite. |
|---|
| 987 | - Core Implementation: |
|---|
| 988 | + Filled in features and backward compatibility for PDD 15 objects. |
|---|
| 989 | New object metamodel passes 85% of old test suite. |
|---|
| 990 | + GCC API symbols are visible externally only when explicitly exported. |
|---|
| 991 | + Added generated GCC compiler attributes to increase warnings, and |
|---|
| 992 | cleaned up resulting warnings. |
|---|
| 993 | + Code cleanup efforts and fixed memory leaks by the cage cleaners, |
|---|
| 994 | resulting in notable speed increases. |
|---|
| 995 | - Misc: |
|---|
| 996 | + Updated Parrot distribution to Artistic License 2.0, from dual |
|---|
| 997 | Artistic 1/GPL license. |
|---|
| 998 | + SDL examples brought up-to-date with current features. |
|---|
| 999 | |
|---|
| 1000 | New in 0.4.12 |
|---|
| 1001 | - Build: |
|---|
| 1002 | + even more refactorings and improvements in configuration system |
|---|
| 1003 | + improved tests and documentation for configuration system |
|---|
| 1004 | - Languages: |
|---|
| 1005 | + Updated abc, PHP ("Plumhead"), Lua, Tcl |
|---|
| 1006 | + Reclaimed Lisp |
|---|
| 1007 | - Design: |
|---|
| 1008 | + new PMC PDD draft partially completed |
|---|
| 1009 | - Implementation: |
|---|
| 1010 | + continued implementation of PDD 15 (Objects) |
|---|
| 1011 | + minor garbage collector and memory management improvements |
|---|
| 1012 | + several memory leaks resolved |
|---|
| 1013 | + extended support for compilers other than GCC |
|---|
| 1014 | + improved C++ compiler compatibility |
|---|
| 1015 | + enhanced support for Solaris, non-MSVC Win32, and other platforms |
|---|
| 1016 | |
|---|
| 1017 | New in 0.4.11 |
|---|
| 1018 | |
|---|
| 1019 | - Compilers: |
|---|
| 1020 | + IMCC: added documentation for C-based Parrot Calling Conventions, |
|---|
| 1021 | refactorings and bug fixes |
|---|
| 1022 | + PGE: new perl6regex front end reflecting recent S05 syntax changes |
|---|
| 1023 | + PIRC: new prototype PIR parser |
|---|
| 1024 | - Languages: |
|---|
| 1025 | + Updated Lua, PHP ("Plumhead"), BASIC, pynie |
|---|
| 1026 | + Lua implements environment |
|---|
| 1027 | - Design: |
|---|
| 1028 | + PDD15 "Objects" - details added, and draft approved |
|---|
| 1029 | - Documentation: |
|---|
| 1030 | + Added guidelines for PMC documentation |
|---|
| 1031 | - Implementation: |
|---|
| 1032 | + PDD15 implementation is largely complete, including role-based composition, |
|---|
| 1033 | introspection, and C3 method resolution order |
|---|
| 1034 | + new Exporter PMC for importing globals between namespaces |
|---|
| 1035 | + new string utilities for radix conversion |
|---|
| 1036 | + PCCINVOKE and Parrot_PCCINVOKE allow calling using the full Parrot Calling |
|---|
| 1037 | Conventions from PMCs and C code respectively |
|---|
| 1038 | - Build: |
|---|
| 1039 | + Refactorings and improvements in test coverage for 'Configure.pl' |
|---|
| 1040 | - Misc: |
|---|
| 1041 | + many bugfixes, enhancements, and code cleanup |
|---|
| 1042 | + added example subversion config file |
|---|
| 1043 | + extended support for gcc, icc, and other compilers |
|---|
| 1044 | + extended support for Solaris and other platforms |
|---|
| 1045 | |
|---|
| 1046 | |
|---|
| 1047 | New in 0.4.10 |
|---|
| 1048 | |
|---|
| 1049 | - Compilers: |
|---|
| 1050 | + IMCC: Parrot calling conventions now available between two C PMCs (PMINVOKE) |
|---|
| 1051 | + PGE: Match object improvements |
|---|
| 1052 | + smop: added Attribute and Class PMCs |
|---|
| 1053 | + HLLCompiler: improvements for interactive mode |
|---|
| 1054 | - PAST: |
|---|
| 1055 | + extended binding to a list of variables |
|---|
| 1056 | - Languages: |
|---|
| 1057 | + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), Ruby ("Cardinal") |
|---|
| 1058 | + Update PIR, regex, Zcode |
|---|
| 1059 | + New language: Pynie - a Python compiler for Parrot |
|---|
| 1060 | + Lua implements require and many other ops, improved regex support |
|---|
| 1061 | + Remove parakeet |
|---|
| 1062 | - Design: |
|---|
| 1063 | + PDD01 "Overview" - updated architecture and platform information |
|---|
| 1064 | + PDD15 "Objects" - details on roles, objects, and classes added |
|---|
| 1065 | + PDD22 "I/O" - added async ops and Status PMC details |
|---|
| 1066 | - Documentation: |
|---|
| 1067 | + Added guides for Metacommitter, Relase Manager, and Cage Cleaner roles |
|---|
| 1068 | - Implementation: |
|---|
| 1069 | + Object, Class, Role, and Attribute PMC implementation has begun |
|---|
| 1070 | + Perl 5 module "Parrot::Embed" now compiles and links on all platforms |
|---|
| 1071 | - Build: |
|---|
| 1072 | + Major improvements in test coverage for 'ops2c.pl' |
|---|
| 1073 | - Misc: |
|---|
| 1074 | + New utility: Crow, a template processor |
|---|
| 1075 | + New library module: Config/JSON for reading/writing JSON files |
|---|
| 1076 | + many bugfixes, enhancements, and coding standard updates, code cleanup |
|---|
| 1077 | |
|---|
| 1078 | New in 0.4.9 |
|---|
| 1079 | |
|---|
| 1080 | - Compilers: |
|---|
| 1081 | + IMCC: Parrot calling conventions now available in C PMCs, allowing |
|---|
| 1082 | named, optional, slurpy, and flat parameter passing |
|---|
| 1083 | + PGE: extended support for Perl 5 Regexes |
|---|
| 1084 | + smop: prototype object model implementation |
|---|
| 1085 | + hllcompiler: refactored to run a configurable set of compilation stages |
|---|
| 1086 | - PAST: |
|---|
| 1087 | + redesigned assign/binding to support Perl 6 binding semantics |
|---|
| 1088 | - Languages: |
|---|
| 1089 | + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), perl6, perl5 |
|---|
| 1090 | + New language: PIR - a PGE-based implementation of Parrot PIR |
|---|
| 1091 | + perl6 now supports binding (':=') and 'join' |
|---|
| 1092 | + lua generates tail calls, and supports its own regex flavor (PGE-based) |
|---|
| 1093 | + Pheme still works, huzzah! |
|---|
| 1094 | - Design: |
|---|
| 1095 | + PDD21 "Objects" - rewritten |
|---|
| 1096 | + PDD22 "I/O" - updated and 'TODO' tests added |
|---|
| 1097 | - Documentation: |
|---|
| 1098 | + Interface stability classification standards approved |
|---|
| 1099 | + Roles and Responsibilities documented approved |
|---|
| 1100 | + Official 'drafts' directory created (was 'clip') |
|---|
| 1101 | - Implementation: |
|---|
| 1102 | + More NameSpace and OS PMC methods implemented |
|---|
| 1103 | + Parrot executable fullname and basename now available in PIR/PASM code |
|---|
| 1104 | + new 'chomp' library function |
|---|
| 1105 | - Build: |
|---|
| 1106 | + Major improvements in test coverage for 'ops2pm.pl' |
|---|
| 1107 | - Misc: |
|---|
| 1108 | + many bugfixes, enhancements, and coding standard updates |
|---|
| 1109 | + extended support for Sun Workshop Compilers |
|---|
| 1110 | + Parrot now builds on PocketPC platform |
|---|
| 1111 | |
|---|
| 1112 | New in 0.4.8 |
|---|
| 1113 | |
|---|
| 1114 | - Compilers: |
|---|
| 1115 | + HLLCompiler: added tracing options, modified api |
|---|
| 1116 | + PGE & TGE bugfixes and updates |
|---|
| 1117 | - PAST: |
|---|
| 1118 | + added global and lexical variable support |
|---|
| 1119 | + added looping constructs, arrays, hashes |
|---|
| 1120 | - Languages: |
|---|
| 1121 | + Updated PHP ("Plumhead"), Tcl ("ParTcl"), |
|---|
| 1122 | forth, perl6, lua, abc, APL, WMLScript, punie |
|---|
| 1123 | + ParTcl is passing > 24.9% of Tcl cvs-latest test suite |
|---|
| 1124 | + perl6 now supports hashes, arrays, method calls, arity-based |
|---|
| 1125 | multisubs, quoted terms, ranges (non-lazy), try blocks, $! |
|---|
| 1126 | - Design: |
|---|
| 1127 | + PDD01 "Overview" - updated |
|---|
| 1128 | + PDD22 "I/O" - rewritten and approved |
|---|
| 1129 | - Test Suite: |
|---|
| 1130 | + Converted Perl 5 Regex tests to PIR, with notable speedup |
|---|
| 1131 | + Added tests for opcodes, compilers, languages, and coding standards |
|---|
| 1132 | - Build: |
|---|
| 1133 | + Major improvements in test coverage for 'pmc2c.pl' |
|---|
| 1134 | - Misc: |
|---|
| 1135 | + many bugfixes, enhancements, and coding standard updates |
|---|
| 1136 | + extended support for non-core platforms including Cygwin, Tru64 |
|---|
| 1137 | |
|---|
| 1138 | New in 0.4.7 |
|---|
| 1139 | |
|---|
| 1140 | - New languages: PHP ("Plumhead"), Forth |
|---|
| 1141 | - Updated languages: Ruby ("Cardinal"), Tcl, Lua |
|---|
| 1142 | - Remove old Python implementation from Parrot repository; the new Python |
|---|
| 1143 | language code is hosted at http://pirate.tangentcode.com |
|---|
| 1144 | - Compilers: |
|---|
| 1145 | + PGE updated with more expressions, latest changes to S05 |
|---|
| 1146 | + new Perl 6 grammar compiler |
|---|
| 1147 | - Integration: |
|---|
| 1148 | + Perl 5 module "Parrot::Embed" allows easy embedding of a Parrot |
|---|
| 1149 | runtime into a Perl 5 program |
|---|
| 1150 | - PIR: |
|---|
| 1151 | + new :init pragma for subs that must run before the main function |
|---|
| 1152 | + new :vtable pragma to identify subs that override PMC vtable methods, |
|---|
| 1153 | eliminating the need for special subroutine names |
|---|
| 1154 | + PIR parser/compiler does not stop on first syntax error |
|---|
| 1155 | + Vanilla register allocator ("register alligator") greatly improves |
|---|
| 1156 | performance compiling large functions |
|---|
| 1157 | + Eliminated limit on number of PIR macros |
|---|
| 1158 | - PMCs: |
|---|
| 1159 | + hash lookups return null instead of None for missing keys |
|---|
| 1160 | - Design: |
|---|
| 1161 | + PDD13 "Bytecode files: format and manipulation" - new |
|---|
| 1162 | + PDD10 "Embedding" - new |
|---|
| 1163 | + PDD25 "Concurrency" - rewritten |
|---|
| 1164 | + PDD15 "Objects" - new section on redesign requirements |
|---|
| 1165 | + PDD07 "Coding standards" - significant updates and automated tests |
|---|
| 1166 | - Test Suite: |
|---|
| 1167 | + Many many more new tests |
|---|
| 1168 | - Build Process: |
|---|
| 1169 | + autoconf compatible install options |
|---|
| 1170 | - Misc: |
|---|
| 1171 | + Namespace refinements |
|---|
| 1172 | + Coroutine improvements |
|---|
| 1173 | + An impressive swarm of other bugfixes and enhancements |
|---|
| 1174 | |
|---|
| 1175 | New in 0.4.6 |
|---|
| 1176 | |
|---|
| 1177 | - New languages: Ruby ("Cardinal"), Javascript ("ecmascript") |
|---|
| 1178 | - Updated languages: Tcl, dotnet, bc, Pheme, Punie, WMLScript |
|---|
| 1179 | - Updated compilers: PGE, TGE |
|---|
| 1180 | - IMCC updates: |
|---|
| 1181 | + ".loadlib" directive expresses dependencies |
|---|
| 1182 | + ".namespace" with no parameter goes to HLL root |
|---|
| 1183 | + lexer is reentrant (reentrant grammar in progress) |
|---|
| 1184 | - Namespace improvements: |
|---|
| 1185 | + new suite of opcodes to access namespaces and globals |
|---|
| 1186 | ("find_global" and "store_global" will be phased out) |
|---|
| 1187 | + namespace '' no longer means HLL root |
|---|
| 1188 | - Design document updates: |
|---|
| 1189 | namespaces (pdd23), basic types (pdd17), embedding |
|---|
| 1190 | - Updated tool requirements for developers: |
|---|
| 1191 | flex 2.5.33, bison 2.1, perl 5.6.1 |
|---|
| 1192 | - New to-do list for people new to Parrot: |
|---|
| 1193 | cage/todo.pod |
|---|
| 1194 | - The usual plethora of bugfixes and enhancements |
|---|
| 1195 | |
|---|
| 1196 | New in 0.4.5 |
|---|
| 1197 | |
|---|
| 1198 | - unicode subroutine names |
|---|
| 1199 | - hierarchical class names finished including MMD support |
|---|
| 1200 | - new dotnet CLI to PIR translator |
|---|
| 1201 | - improved TGE code and compiler |
|---|
| 1202 | - APL: vector handling |
|---|
| 1203 | - new STM branch in the svn repository |
|---|
| 1204 | - the usual bugfixes and enhancements |
|---|
| 1205 | |
|---|
| 1206 | New in 0.4.4 |
|---|
| 1207 | |
|---|
| 1208 | - hierarchical class names |
|---|
| 1209 | - APL compiler |
|---|
| 1210 | - under development |
|---|
| 1211 | - understands simple vector ops, strings |
|---|
| 1212 | - demonstrates use of Unicode in Parrot |
|---|
| 1213 | - pgc, a compiler for rules and operator precedence parsers |
|---|
| 1214 | - Major redesign and improvements for PGE |
|---|
| 1215 | - compilers understand named parameter options |
|---|
| 1216 | - :ratchet option implemented to support non-backtracking quantifiers |
|---|
| 1217 | - TGE (tree grammar engine) for tree transformations |
|---|
| 1218 | - tgc, tree grammar compiler |
|---|
| 1219 | - perl6 compiler |
|---|
| 1220 | - support for many operators, lexical scalars, regex matches |
|---|
| 1221 | - new pheme (Parrot scheme) compiler |
|---|
| 1222 | |
|---|
| 1223 | New in 0.4.3 |
|---|
| 1224 | |
|---|
| 1225 | - namespaces partially implemented |
|---|
| 1226 | - rulec, Perl 6 rule compiler |
|---|
| 1227 | - PGE improvements including return values for closure |
|---|
| 1228 | - parts of a Perl 6 parser based on PGE |
|---|
| 1229 | - complex trigonometric methods |
|---|
| 1230 | - type of Sub PMC is now overridable by HLL |
|---|
| 1231 | - NetBSD support |
|---|
| 1232 | - many bug fixes and improvements |
|---|
| 1233 | |
|---|
| 1234 | New in 0.4.2 |
|---|
| 1235 | |
|---|
| 1236 | - improved PPC and x86 JIT support including JIT compilation |
|---|
| 1237 | of very simple PASM/PIR subroutines |
|---|
| 1238 | - preliminary libreadline support |
|---|
| 1239 | - better trace and debug features |
|---|
| 1240 | - pkgconfig support |
|---|
| 1241 | - META.yml to support proper indexing on CPAN |
|---|
| 1242 | - new opcode: hcf (in "my_ops" in dynamic op library) |
|---|
| 1243 | - new File pmc for file specific ops (is_dir, is_file, copy, rename...) |
|---|
| 1244 | - named arguments and parameters (both :named("") and => syntaxes) |
|---|
| 1245 | - ongoing config improvements |
|---|
| 1246 | - tons of bug fixes and other small improvements - too much to list all |
|---|
| 1247 | |
|---|
| 1248 | New in 0.4.1 |
|---|
| 1249 | |
|---|
| 1250 | - Installation: 'make install' is using standard locations now |
|---|
| 1251 | (/usr/local is the default --prefix) |
|---|
| 1252 | - Produce static and shared libraries on some systems |
|---|
| 1253 | - Configure system rearragement |
|---|
| 1254 | - OS pmc started (mkdir,cd,cwd,rm,umask,stat) |
|---|
| 1255 | - Shootout examples |
|---|
| 1256 | - Test files are now testable with 'prove' |
|---|
| 1257 | - Smoke (and smokej) outputs progress |
|---|
| 1258 | - PIR supports: I = A < B (>,<=,>=,==,!=) |
|---|
| 1259 | - Add support for octal number constants |
|---|
| 1260 | - partcl updates: |
|---|
| 1261 | - almost finish [string]; start [file] |
|---|
| 1262 | - add build tool for generating inline'd tcl builtins from templates. |
|---|
| 1263 | - Jako updates: NCI, subroutines, global variables and constants all work. |
|---|
| 1264 | (Gregor) |
|---|
| 1265 | |
|---|
| 1266 | New in 0.4.0 |
|---|
| 1267 | |
|---|
| 1268 | - New lexical handling and closure support including better |
|---|
| 1269 | introspection for caller and outer |
|---|
| 1270 | - PGE (Parrot Grammar Engine) provides now compilers for P6Rule, |
|---|
| 1271 | P6Grammar, P5Regexp, and Glob |
|---|
| 1272 | - ca. 1000 new tests including 800 for Perl5 regexp |
|---|
| 1273 | - Improved unicode charset and encoding support |
|---|
| 1274 | - Calling conventions for exception handlers |
|---|
| 1275 | - Punie (Perl 1) uses TGE (Tree Grammar Engine) to convert from |
|---|
| 1276 | PGE match objects to AST via two steps of tree transformation grammars |
|---|
| 1277 | - New languages: amber and lua |
|---|
| 1278 | - The usual code fixes, cleanup, and improvements, including an overhaul |
|---|
| 1279 | of the config and test framework |
|---|
| 1280 | |
|---|
| 1281 | New in 0.3.1 |
|---|
| 1282 | |
|---|
| 1283 | - Variable sized register frames are finished. Each subroutine gets |
|---|
| 1284 | the amount of registers that it actually needs. No more spilling. |
|---|
| 1285 | - Vastly improved PGE (Parrot Grammar Engine) including shift-reduce, |
|---|
| 1286 | precedence-based expression parser and support for matching of |
|---|
| 1287 | bracketed text delimited by e.g. ()[]{}'" |
|---|
| 1288 | - uniccode character classification (is_upper ...) |
|---|
| 1289 | - support for heredoc syntax in assembler |
|---|
| 1290 | - improved examples, basic JSON support |
|---|
| 1291 | - debian packaging support |
|---|
| 1292 | - the usual improvements, bug fixes, and cleanup |
|---|
| 1293 | - test count exceeds 3000 |
|---|
| 1294 | |
|---|
| 1295 | New in 0.3.0 |
|---|
| 1296 | |
|---|
| 1297 | - New calling conventions implemented: see PDD03 for details |
|---|
| 1298 | - Merge multiple Parrot bytecode (PBC) files into a singe PBC file |
|---|
| 1299 | - 'make smoke' target going beta |
|---|
| 1300 | - bc now supports if statements, comparison ops, prefix inc/dec |
|---|
| 1301 | - ParTcl adds [lassign], [switch] (partially); [expr] converted to a compiler |
|---|
| 1302 | - Many exciting doc updates, tests, and bugfixes, too numerous to mention |
|---|
| 1303 | |
|---|
| 1304 | New in 0.2.3 |
|---|
| 1305 | |
|---|
| 1306 | - Dynamic classes now compile on Windows (including ParTcl) |
|---|
| 1307 | - New Super PMC allows easy access to superclass methods |
|---|
| 1308 | - Implement C3 method resolution order (just like Perl 6 & Python) |
|---|
| 1309 | - ParTcl has new PIR-based parser and passes more Tcl tests |
|---|
| 1310 | - added character class support in Globs to PGE |
|---|
| 1311 | - added language implementations of unlambda, Lazy-k |
|---|
| 1312 | - many bugfixes, including GC and memory leaks |
|---|
| 1313 | - the new calling scheme continued to evolve in branches/leo-ctx5 |
|---|
| 1314 | |
|---|
| 1315 | New in 0.2.2 |
|---|
| 1316 | |
|---|
| 1317 | - new call scheme: docs/pdds/pdd03_calling_conventions.pod |
|---|
| 1318 | - partial implementation of the new calling conventions |
|---|
| 1319 | PASM only, don't mix PIR foo() call syntax with the new scheme |
|---|
| 1320 | - grammar and rule support in PGE - the Parrot Grammar Engine |
|---|
| 1321 | - TCL passes >10% of the tcl test suite |
|---|
| 1322 | - the usual bugfixes and improvements |
|---|
| 1323 | |
|---|
| 1324 | New in 0.2.1 |
|---|
| 1325 | |
|---|
| 1326 | - better HLL support (short names for object attributes, and |
|---|
| 1327 | .HLL and n_operators pragmas) |
|---|
| 1328 | - string encoding and charset can now be set independently |
|---|
| 1329 | - experimental mmap IO layer for slurping files |
|---|
| 1330 | - distinct debug and trace flag settings |
|---|
| 1331 | - glob support in PGE |
|---|
| 1332 | - new character classification opcodes and interfaces |
|---|
| 1333 | |
|---|
| 1334 | New in 0.2.0 |
|---|
| 1335 | |
|---|
| 1336 | - parrot repository is now under subversion |
|---|
| 1337 | - MMD (Multi Method Dispatch) enhanced |
|---|
| 1338 | - new unary and infix opcodes that return new result PMCs |
|---|
| 1339 | - dynamic scalar PMCs inherit now almost all from Parrot core PMCs |
|---|
| 1340 | - more unification of PMCs and ParrotObjects |
|---|
| 1341 | - tailcalls for functions and methods |
|---|
| 1342 | - PGE (Parrot Grammar Engine) reworked |
|---|
| 1343 | - Pugs creates Parrot code and Pugs is a registered compiler now |
|---|
| 1344 | - new languages/lisp |
|---|
| 1345 | - the usual bug fixes and improvements |
|---|
| 1346 | |
|---|
| 1347 | New in 0.1.2 |
|---|
| 1348 | |
|---|
| 1349 | - New string handling code. Strings now have charset and encoding |
|---|
| 1350 | - Parts of a generation garbage collector |
|---|
| 1351 | - Better Python code, separated in dynclasses |
|---|
| 1352 | - Parrot Grammar Engine |
|---|
| 1353 | - Improved test coverage and documentation |
|---|
| 1354 | |
|---|
| 1355 | New in 0.1.1 |
|---|
| 1356 | |
|---|
| 1357 | Parrot 0.1.1 is an intermediate release with tons of updates and fixes. |
|---|
| 1358 | - Python support: Parrot runs 4/7 of the pie-thon test suite |
|---|
| 1359 | - Better OS support: more platforms, compiler, OS functions |
|---|
| 1360 | - Improved PIR syntax for method calls and <op>= assignment |
|---|
| 1361 | - Dynamic loading reworked including a "make install" target |
|---|
| 1362 | - MMD - multi method dispatch for binary vtable methods |
|---|
| 1363 | - Library improvement and cleanup |
|---|
| 1364 | - BigInt, Complex, *Array, Slice, Enumerate, None PMC classes |
|---|
| 1365 | - IA64 and hppa JIT support |
|---|
| 1366 | - Tons of fixes, improvements, new tests, and documentation updates. |
|---|
| 1367 | A lot is unfinished and keeps changing. Nethertheless Parrot is stable |
|---|
| 1368 | and usable at the surface, while internals are moving. |
|---|
| 1369 | |
|---|
| 1370 | New in 0.1.0 |
|---|
| 1371 | - "Ladies and gentlemen, I give you... objects!" |
|---|
| 1372 | - Huge documentation overhaul |
|---|
| 1373 | - More supported platforms, s. PLATFORMS |
|---|
| 1374 | - Basic thread support for pthread based architectures |
|---|
| 1375 | - Basic event handling for timers and signals including: |
|---|
| 1376 | - PASM callbacks for NCI (native C) functions. |
|---|
| 1377 | - Improved platform configuration |
|---|
| 1378 | - COW stacks now working, stacks code redone |
|---|
| 1379 | - Structure handling vastly improved |
|---|
| 1380 | - Random PMC and rand primitives |
|---|
| 1381 | - Better subroutine call syntax in PIR |
|---|
| 1382 | - Make PIR subroutines compliant with pdd03 |
|---|
| 1383 | - Improved profiling (DOD, GC timings) |
|---|
| 1384 | - Hash code improvements, incl. random key order support |
|---|
| 1385 | - Experimental freeze/thaw code for some PMC types |
|---|
| 1386 | - IO improvements for buffered layer and Win32 |
|---|
| 1387 | - String iterators |
|---|
| 1388 | - String bitwise vtables |
|---|
| 1389 | - Many new opcodes |
|---|
| 1390 | - Support for JIT, where malloced memory isn't executable |
|---|
| 1391 | - Priority DOD scheme for objects that need timely destruction |
|---|
| 1392 | - Improved byte code loading (e.g. onLoad functions) |
|---|
| 1393 | - Language updates: forth, Perl 6/P6C, m4 |
|---|
| 1394 | - Libraries: Getopt_Long, SDL, Dumper, Sort |
|---|
| 1395 | - new JAPH examples |
|---|
| 1396 | - Unified imcc and parrot test handling |
|---|
| 1397 | - Many new tests (make test reports 1386 tests) |
|---|
| 1398 | - Numerous bug fixes |
|---|
| 1399 | |
|---|
| 1400 | New in 0.0.13 |
|---|
| 1401 | - The Big Move: Parrot source and build files rearranged into sub dirs |
|---|
| 1402 | - Build imcc as parrot |
|---|
| 1403 | - Objects more finished |
|---|
| 1404 | - Delegate vtable methods to byte code |
|---|
| 1405 | - Binary multi-method dispatching |
|---|
| 1406 | - Isa and does methods for PMCs |
|---|
| 1407 | - Call byte code from C |
|---|
| 1408 | - Start of extension interface |
|---|
| 1409 | - Experimental struct handling |
|---|
| 1410 | - Catch access to NULL PMCs |
|---|
| 1411 | - Experimental network socket interface code and opcodes |
|---|
| 1412 | - IO fixes and improvements |
|---|
| 1413 | - Dynamic opcode libraries |
|---|
| 1414 | - Fix-assigned opcode numbers |
|---|
| 1415 | - Argument flattening for function calls |
|---|
| 1416 | - More native call interface (NCI) signatures |
|---|
| 1417 | - Ncurses, postgres, and pcre interface libraries |
|---|
| 1418 | - Forth language is vastly improved |
|---|
| 1419 | - BSD and Win32 build improvements |
|---|
| 1420 | - Many new tests and fixes |
|---|
| 1421 | |
|---|
| 1422 | New in 0.0.12 |
|---|
| 1423 | - This number intentionally left blank |
|---|
| 1424 | |
|---|
| 1425 | New in 0.0.11 |
|---|
| 1426 | - Executable output |
|---|
| 1427 | - Dynamic PMC registration |
|---|
| 1428 | - Trial exception system |
|---|
| 1429 | - Beginnings of object system |
|---|
| 1430 | - Iterators |
|---|
| 1431 | - Ordered hashes |
|---|
| 1432 | - I/O system improvements |
|---|
| 1433 | - References |
|---|
| 1434 | - Documentation for basic PMC types |
|---|
| 1435 | - IMCC support of Parrot Calling Conventions |
|---|
| 1436 | - Runtime loading of chartypes (and other string improvements) |
|---|
| 1437 | - Conditional breakpoints |
|---|
| 1438 | - Dramatically accelerated sweeps for finalizable objects |
|---|
| 1439 | - Small PMCs (PMCs split into core and extensions) |
|---|
| 1440 | - Loadable bytecode packfiles |
|---|
| 1441 | - Constant PMCs |
|---|
| 1442 | - Sub variants that deal with the stack correctly |
|---|
| 1443 | - Switched runops core |
|---|
| 1444 | - Line numbers in warnings |
|---|
| 1445 | - Environment access |
|---|
| 1446 | - Many documentation cleanups |
|---|
| 1447 | - Conversion to CPS style! |
|---|
| 1448 | - BASIC debugger and many other wacky features |
|---|
| 1449 | - Filename, line number parsing support in IMCC |
|---|
| 1450 | |
|---|
| 1451 | New in 0.0.10 |
|---|
| 1452 | - IMCC integration |
|---|
| 1453 | - eval |
|---|
| 1454 | - some more benchmarking |
|---|
| 1455 | - cgp core |
|---|
| 1456 | - optimized math ops |
|---|
| 1457 | - intersegment branches |
|---|
| 1458 | - more complete use of PObjs |
|---|
| 1459 | - beefed up packfiles |
|---|
| 1460 | - sub/continuation/coroutine fixes |
|---|
| 1461 | - better NCI (native calling interface) |
|---|
| 1462 | - many imcc improvements |
|---|
| 1463 | - jako improvements |
|---|
| 1464 | |
|---|
| 1465 | New in 0.0.9 |
|---|
| 1466 | |
|---|
| 1467 | - Native function calling interface (Dan) |
|---|
| 1468 | - Stack/list aggregate rewrite (Leo) |
|---|
| 1469 | - Scratchpads (Jonathan Sillito) |
|---|
| 1470 | - Preliminary DotGNU support -- type conversion ops (Gopal V + Leo) |
|---|
| 1471 | - Buffer/PMC unification (Leo) |
|---|
| 1472 | - stabs debugging support for JIT (Leo) |
|---|
| 1473 | - Jako overhaul (Gregor) |
|---|
| 1474 | - Optional Lea allocator (Leo) |
|---|
| 1475 | - Parrot sprintf (Brent) |
|---|
| 1476 | - Miniparrot (Josh) |
|---|
| 1477 | - PMC Properties (Dan) |
|---|
| 1478 | - Various JIT improvements (D. Grunblatt + Leo) |
|---|
| 1479 | - Extensible packfiles (Juergen) |
|---|
| 1480 | - Restructured PMC hierarchy (Leo) |
|---|
| 1481 | - Real Scheme (Juergen) |
|---|
| 1482 | |
|---|
| 1483 | New in 0.0.8 |
|---|
| 1484 | |
|---|
| 1485 | - Several new grammars and a BNF -> perl5 and perl6 converter (Jeff) |
|---|
| 1486 | - Working Perl 6 REs (Sean) |
|---|
| 1487 | - Keyed Access (Tom Hughes et al) |
|---|
| 1488 | - New PMCs (Alberto et al) |
|---|
| 1489 | - Better Documentation |
|---|
| 1490 | - New COW semantics |
|---|
| 1491 | - GC acceleration (Mike Lambert) |
|---|
| 1492 | - Lexical scope (Jonathan Sillito) |
|---|
| 1493 | - IMCC patches |
|---|
| 1494 | - JIT for the ARM |
|---|
| 1495 | |
|---|
| 1496 | New in 0.0.7 |
|---|
| 1497 | |
|---|
| 1498 | - Perl 6 Grammar and Compiler (Sean) |
|---|
| 1499 | - Subroutines, coroutines, and continuations (Melvin) |
|---|
| 1500 | - GC improvements (Peter Gibbs, Mike Lambert) |
|---|
| 1501 | - Global variables (Melvin) |
|---|
| 1502 | - Intermediate bytecode compiler (Melvin, Angel) |
|---|
| 1503 | - And much, much more. |
|---|
| 1504 | |
|---|
| 1505 | New in 0.0.6 |
|---|
| 1506 | |
|---|
| 1507 | - New assembler that support keyed types (Jeff) |
|---|
| 1508 | - New macro layer, allowing constants (Jeff) |
|---|
| 1509 | - New Configure.pl (Brent) |
|---|
| 1510 | - Changes to bytecode format, endian issues resolved (Melvin) |
|---|
| 1511 | - GC improvements and bug fixes (Peter Gibbs, Mike Lambert) |
|---|
| 1512 | - JIT compiler rewrite (Jason and Daniel) |
|---|
| 1513 | - Parrot assembler in Parrot (Daniel) |
|---|
| 1514 | - Parrot debugger (Daniel) |
|---|
| 1515 | - BASIC polished, Eliza.bas is new (Clint) |
|---|
| 1516 | - Cola compiler committed and working, with limited OOP (Melvin) |
|---|
| 1517 | - Keyed aggregates (Steve Fink) |
|---|
| 1518 | - Global ops (Melvin) |
|---|
| 1519 | - Compile-time speedup (Melvin) |
|---|
| 1520 | - Much documentation |
|---|
| 1521 | - New PDDs (Dan) |
|---|
| 1522 | - Contributed tetris and lzw files |
|---|
| 1523 | - And many more, from the cast of thousands |
|---|
| 1524 | |
|---|
| 1525 | New in 0.0.5 |
|---|
| 1526 | |
|---|
| 1527 | - Full GC |
|---|
| 1528 | - Perl Scalar support in PMCs |
|---|
| 1529 | - Array and Hash types almost ready for prime-time |
|---|
| 1530 | - Internal support for keyed types |
|---|
| 1531 | - EMACS editing mode |
|---|
| 1532 | - New PDDs |
|---|
| 1533 | - New Language - BASIC |
|---|
| 1534 | - Regular expression compiler |
|---|
| 1535 | - More tests |
|---|
| 1536 | - Many, many bug fixes, enhancements, and speedups |
|---|
| 1537 | |
|---|
| 1538 | New in 0.0.4 |
|---|
| 1539 | |
|---|
| 1540 | - Arena-based memory allocation system |
|---|
| 1541 | - Copying GC |
|---|
| 1542 | - New IO subsystem |
|---|
| 1543 | - "Predereferencing" mode - ./parrot -P - 22% speedup |
|---|
| 1544 | - JIT compiler - ./parrot -j |
|---|
| 1545 | - Parrot now builds warnings-clean on many platforms |
|---|
| 1546 | - Many more PMC methods implemented |
|---|
| 1547 | - Regular expression operations |
|---|
| 1548 | - Added a FAQ |
|---|
| 1549 | - Basic support for embedding Parrot in other programs |
|---|
| 1550 | - Warnings support |
|---|
| 1551 | - Added PDDs to distribution |
|---|
| 1552 | - Bignum library |
|---|
| 1553 | |
|---|
| 1554 | - PMC inheritance |
|---|
| 1555 | - Added an assembly optimizer |
|---|
| 1556 | - Improved string encoding/type support |
|---|
| 1557 | - Many more tests |
|---|
| 1558 | - Source reformatting |
|---|
| 1559 | - Major refactoring in packfile library |
|---|
| 1560 | - More Miniperl functionality |
|---|
| 1561 | - New PMC "clone" operator |
|---|
| 1562 | - Beginnings of key-based access to PMCs - arrays and hashes |
|---|
| 1563 | - MOPS comparisons in examples/mops/ |
|---|
| 1564 | |
|---|
| 1565 | New in 0.0.3 |
|---|
| 1566 | |
|---|
| 1567 | - PMCs! |
|---|
| 1568 | - Perl base scalar types implemented |
|---|
| 1569 | - A new minilanguage, Scheme |
|---|
| 1570 | - Much improved documentation |
|---|
| 1571 | - Register stacks pushing and popping |
|---|
| 1572 | - User stack pushing, popping and rotating |
|---|
| 1573 | - Jako updates: subroutines, more example programs, optimizations |
|---|
| 1574 | - test_prog renamed to 'parrot' |
|---|
| 1575 | |
|---|
| 1576 | - Added features to the assembler: @ for current location, and global |
|---|
| 1577 | labels |
|---|
| 1578 | - Build tweaks for VMS |
|---|
| 1579 | - Bytecode typing clean-ups |
|---|
| 1580 | - More platforms: OS X, HPUX, OS/2 |
|---|
| 1581 | - The proliferation of runops cores reduced to one fast and one slow one |
|---|
| 1582 | - Opcode tracing, bounds checking, profiling |
|---|
| 1583 | - Vastly improved string support, with separation of encoding and |
|---|
| 1584 | charset |
|---|
| 1585 | - Lots more tests |
|---|
| 1586 | - Multiple interpreter creation support - the beginnings of threading |
|---|
| 1587 | - Much better resource handling - the beginnings of GC |
|---|
| 1588 | |
|---|
| 1589 | New in 0.0.2 |
|---|
| 1590 | |
|---|
| 1591 | - Parrot now works on all core platforms |
|---|
| 1592 | - A large number of tests, in the standard Perl testing framework |
|---|
| 1593 | - A new minilanguage (Jako) which compiles to Parrot assembly |
|---|
| 1594 | - Documentation about the assembly language (docs/parrot_assembly.pod) |
|---|
| 1595 | |
|---|
| 1596 | - Separate modules for assembly (Parrot::Assemble) and bytecode |
|---|
| 1597 | manipulation (Parrot::PackFile::*, packfile.c) |
|---|
| 1598 | - Assembler completely rewritten |
|---|
| 1599 | - Better operand-type guessing in the assembler |
|---|
| 1600 | - Assembler support for '\n' etc. in string constants |
|---|
| 1601 | - Code reformatted to match the coding standards |
|---|
| 1602 | - New ops for register-constant INTEGER comparisons |
|---|
| 1603 | - Macro expansion in the assembler |
|---|
| 1604 | - IVs and NVs renamed to more friendly INTVAL and NUMVAL |
|---|
| 1605 | - Hard-coded pack("") formats removed |
|---|
| 1606 | - Better handling of floating-point numbers in assembler |
|---|
| 1607 | - Moved floats to constant table (fixing many alignment issues) |
|---|