5 + initial draft of pdd29_compiler_tools.pod
7 + Reimplemented HQ9+ with PCT
8 + Lua : reimplementation with PCT/PAST & POST
10 + Removed P6Regex, pgc, P6Grammar from PGE
12 . added <, <=, >, >= relational operators
13 . added postfix:++,-- operators
18 + launched pdd18_security.pod
19 + updated pdd17_pmc.pod
20 + launching draft of pdd28_character_sets.pod
22 + cleanup of IMCC documentation
24 + add step auto::gettext
25 + add step auto::crypto
29 . Phase out P6Regex in favor of Perl6Regex
31 '.local Array my_arr' is illegal now
33 + C99: reimplementation with PCT
36 . add support for functions with params
40 . first cut at smart matching
41 . indirect method calls
43 . added methods 'grep' and 'first'
44 . implement auto{increment,decrement}
45 . initial implementation of 'perl6doc'
49 + Cardinal: basic support for functions with parameters
50 + Pheme: various updates
51 + Ecmascript: various updates
52 + Tcl: now targeting tcl 8.5.1, no more expected failures in test suite.
53 (No, this doesn't mean everything's implemented. =-)
54 + Eclectus: various updates
55 + WMLScript: various updates
58 + Add library YAML::Dumper
59 + Add the MD2, MD4, MD5, RIPEMD160, SHA & SHA1 PMC, as a wrapper
62 + various bugfixes, code cleanups and coding standard fixes
64 + remove external Perl 5 modules from the Parrot distribution
68 + PDD09 (garbage collection) - approved
69 + PDD28 (character sets) - draft started
70 + added function documentation to some core functions
71 + PCT beginners guide, optable guide and PAST nodes guide, bug fixes
73 + IMCC: plugged various memory leaks and other cleanups
75 . add "attribute" as a scope variant to PAST::Var nodes
76 . add 'shift' and 'pop' methods to PAST:: nodes
77 + NQP: add '=:=' op, tests for scalar and list contextualizers, \x escapes
79 + APL: reimplementation with PCT
80 + Cardinal (Ruby): reimplemention with PCT
81 + Ecmascript: reimplementation with PCT
82 + lolcode: improved expression parsing, ifthen, IT, YARN
84 . aligned with Lua official release 5.1.3.
85 . added initial PCT-based implementation.
86 + Punie (Perl 1): refactor to use standard PCT-based filenames
87 + Pynie (Python): add functions
89 . rebranded, formerly known as 'perl6'
90 . passes many more official Perl 6 Specification tests
91 . added 'perl6doc' utility
92 . oo including meta?classes, objects, methods, attributes, role composition
93 . match variables, while/until statements, traits
94 . many new methods for Str, List, Hash, Junction
97 + PCCINVOKE syntax for named arguments using []; use () instead.
98 + see DEPRECATED.pod for details
100 + pbc_to_exe refactored for code reduction, portability, and maintainability
102 + #line directives added to generated JIT files, improving debugging
103 + consting, attribute marking, refactoring, warnings cleanup
107 + PDD27 (multiple dispatch) - debut of new design
108 + Numerous small updates to glossary.pod, etc
110 + NQP: optional, named, and named/required parameters
114 + New mk_language_shell.pl script creates language stubs
117 + Eclectus: start with support for local variables and procedures,
118 use SXML as intermediate representation
119 + Perl 6: list builtins, compiler directives, command-line options, etc.
120 + "make perl6" now builds a Perl 6 executable
121 + punie: more builtins, control structures, code refactoring
122 + pynie: builtin stubs, more tests
124 + New "pbc_to_exe" utility turns bytecode to executables
125 + New set_outer method for subs
126 + Further configuration refactoring for testability
127 + All functions now completely headerized
128 + Concurrency: interpreter schedulers
130 + DYNSELF (changes to SELF; SELF to STATICSELF)
131 + METHOD (replaced by renaming PCCMETHOD)
132 + pmcinfo op (superseded by 'inspect')
133 + get_attr, set_attr, and 8 other vtable methods
134 + See DEPRECATED.pod for details
137 + Minor speed enhancements with UTF-8 string handling
139 + consting, attribute marking, warnings cleanup, memory leaks plugged ...
143 + PDD19 (PIR) - reflect state on the ground; incorporate old IMCC docs
144 + PDD25 (Concurrency) - launch out of draft
145 + Improve documentation of deprecated parrot features.
147 + PCT: Parrot Compiler Toolkit redesigned and updated
148 + NQP: major updates, including support for namespaces,
149 module/class declarations, methods
150 + IMCC: remove .sym as alias for .local. Remove .pcc_
151 prefix for calling directives (.pcc_begin became .begin_call).
152 + PIRC: creates an AST during the parse.
153 + PGE: more updates to match S05 syntax.
155 + perl6: re-implemented using PCT and NQP, new object subsystem
156 + abc: re-implemented using PCT and NQP
157 + eclectus: initial implementation
158 + plumhead: add PCT variant
159 + punie: re-implemented using PCT and NQP, extended to handle subroutines
160 Happy 20th Birthday, Perl!
161 + pynie: re-implemented using PCT and NQP
162 + PIR: start conversion to NQP (under construction)
164 + new opcodes: 'die', 'addhandler', 'copy'
165 + Initial implementation of Concurrency PDD
166 + Add 'arity' method to Sub and NCI PMCs
169 + consting, attribute marking, warnings cleanup, memory leaks, GC...
170 + dead code removal (includes some defunct languages)
174 + PDD15 (OO) branch merged with trunk; this release contains a working,
175 tested implementation of the latest OO model
176 + Added pop_eh/push_eh_p/count_eh opcodes
177 + Add --runcore command line option
178 + Add gcdebug runcore to help track down GC bugs
179 + minor improvements to IA-32 JIT
181 + PDD19 (PIR): updates to macros, .pcc* directives
182 + PDD25 (Concurrency): updated
183 + PDD26 (AST): draft approved
184 + PDD23 (Exceptions): draft approved
186 - Languages/Compilers
187 + languages/APL: minor updates, PDD15 conformance
188 + languages/dotnet: minor updates
189 + languages/lua: minor updates, PDD15 conformance
190 + languages/lisp: minor updates
191 + languages/perl6: minor updates, PDD15 conformance
192 + languages/plumhead: minor updates
193 + languages/punie: minor updates, PDD15 conformance
194 + languages/nqp: minor updates
195 + languages/scheme: many updates, PDD15 conformance, improved tests, use
196 PMCs instead of primitive registers to represent values
197 + languages/tcl: bugfixes, PDD15 conformance
198 + languages/WMLScript: minor updates
199 + compilers/pirc: updates from PDD19, PDD06
200 + compilers/pct: minor updates, PDD15 conformance
201 + compilers/pge: PDD15 conformance
202 + compilers/tge: PDD15 conformance
204 + Improve test coverage
205 + Improve reporting when a step fails; allow abort on failure
207 + More coding standard conformance, tests, cleanup, speedups,
209 + Bug cleanup, esp. GC bugs
210 + Eliminate .imc extension (use .pir)
211 + Simplify some core config steps to not allow interactive prompting
217 + Bug fixes (including Coverity IDs 20, 22, 30, 119-122, 124-126, 129-131)
218 Also various GC, memory, and segfault issues
219 + Fix & reenable CGP core
220 + Parrot's -r flag now works again (compile to and execute bytecode)
221 + Updates to pmc2c & PIR syntaxes
223 + Minor performance improvements, especially in PGE
225 + PDD02 "Vtables" - superceded by PDD17
226 + PDD06 "PASM" - minor updates
227 + PDD17 "PMC" - add VTABLE syntax, update core PMC struct, restore UnionVal
228 + PDD19 "PIR" - early review started
229 + PDD21 "Namespaces" - cleanup
230 + PDD24 "Events" - draft approved
231 + PDD25 "Concurrency" - minor updates
232 + PDD26 "AST" - draft version begun
233 + PIR tutorials updated
234 - Languages/Compilers
235 + Make scheme work with the current calling conventions, other major work.
236 + Updates to m4, lua, compilers/pirc, languages/PIR, dotnet, tcl
238 + make -j functional again
239 + Code cleanup (refactoring, optimizations)
243 + Performed code review on every PMC
244 + Modified PMC code generation to use Storable, reducing compile times
245 + Added a makefile target to generate test coverage data of C sources
247 + NQP: added lists, for loops, operators, comparison and multiplicative operators
248 + Announced Kea-CL, Kea Common Lisp, an ANSI Common Lisp implementation
249 The repository is available at https://rgrjr.dyndns.org/svn/kea-cl/trunk/
251 + PDD17 "PMCs" - draft approved, the design is complete
252 + Added more PIR tutorials, see examples/tutorial/00_README.pod
254 + Many bugfixes, enhancements, documentation, and coding standard updates
255 + Deprecated PMC constants and other crufty syntax, see DEPRECATED.pod
256 + Improved icc compiler compatibility for error line reporting
260 + Lots of code review, many bugs fixed
261 + Many more code cleanups and compiler warning levels
262 + Started a new jit engine for 64-bit processors
263 + Refactored configure process, with tests and new diagnostic options
264 + Added new CodeString PMC for dynamic generation of PIR code
265 + More pdd15 support for object metamodel.
267 + Added NQP ("Not Quite Perl"), a very lightweight Perl 6-like language
268 + Significant improvements and refactors to PCT (Parrot Compiler Toolkit)
269 + perl6 passes more spec tests
270 + Lua works now with a PGE/TGE/PAST-pm based compiler, lives in one pbc,
271 and the interpreter has same behavior as original.
273 + Added a committers' HOWTO
274 + More PIR tutorial examples
278 - Now, with Seat Belts!
279 + added makefile targets for Sun lint, BSD lint, and splint
280 + corrected many errors picked up by these tools
281 + decorated source code with compiler hints, assertions, and attribute macros
282 + automated creation of function declarations to prevent common errors
283 + increased compiler warnings levels
284 + converted more exceptions to a recoverable form
286 + updated Lisp, Lua, Perl 6, tcl, regex, Scheme ("Pheme")
287 + Perl 6 now fetches selected tests from pugs, and even passes some
288 + PGE modified to handle {*} action subs for top-down and bottom-up parsers,
289 and to allow grammar subclassing
290 + HLLCompiler now has better exception, eval, and exit support
291 + Introduced PCT, a refactor of HLLCompiler and PAST-pm
293 + PDD15 "Objects" - details added to 'new' and 'getattribute' opcodes
294 + PDD17 "PMCs" - notes added on instantiation and dynamic extention in PIR
296 + added Parrot-related text from "Perl 6 and Parrot Essentials" book,
297 tutorial examples from "Learning PIR" talk, and PDD15 metamodel diagrams
299 + reduced memory footprint when using named registers
300 + implemented overridding of vtable methods by PDD15 classes
301 + improved PDD15 support for 'new', 'instantiate', and others
302 + added makefile targets to ease core and HLL makefile regeneration
303 + updated parrot dubugger, "pdb", to allow loading of commands from file
305 + many bugfixes, enhancements, documentation, and coding standard updates
309 + Updated Lisp, Lua, PHP ("Plumhead"), Python ("Pynie"), ABC,
310 WMLScript, and Tcl ("ParTcl").
311 + Perl 6 passes all of the sanity tests.
312 + PGE supports latest Perl 6 grammar syntax. Perl 6, Python
313 ("Pynie"), and ABC parsers updated to match.
314 + Updated PHP ("Plumhead") to Antlr 3.0.
315 + Lua added the beginnings of a PGE/TGE based compiler (not yet
316 replacing the Perl/Yapp compiler).
317 + Lisp updated for current features, added a test suite.
318 - Core Implementation:
319 + Filled in features and backward compatibility for PDD 15 objects.
320 New object metamodel passes 85% of old test suite.
321 + GCC API symbols are visible externally only when explicitly exported.
322 + Added generated GCC compiler attributes to increase warnings, and
323 cleaned up resulting warnings.
324 + Code cleanup efforts and fixed memory leaks by the cage cleaners,
325 resulting in notable speed increases.
327 + Updated Parrot distribution to Artistic License 2.0, from dual
328 Artistic 1/GPL license.
329 + SDL examples brought up-to-date with current features.
333 + even more refactorings and improvements in configuration system
334 + improved tests and documentation for configuration system
336 + Updated abc, PHP ("Plumhead"), Lua, Tcl
339 + new PMC PDD draft partially completed
341 + continued implementation of PDD 15 (Objects)
342 + minor garbage collector and memory management improvements
343 + several memory leaks resolved
344 + extended support for compilers other than GCC
345 + improved C++ compiler compatibility
346 + enhanced support for Solaris, non-MSVC Win32, and other platforms
351 + IMCC: added documentation for C-based Parrot Calling Conventions,
352 refactorings and bug fixes
353 + PGE: new perl6regex front end reflecting recent S05 syntax changes
354 + PIRC: new prototype PIR parser
356 + Updated Lua, PHP ("Plumhead"), BASIC, pynie
357 + Lua implements environment
359 + PDD15 "Objects" - details added, and draft approved
361 + Added guidelines for PMC documentation
363 + PDD15 implementation is largely complete, including role-based composition,
364 introspection, and C3 method resolution order
365 + new Exporter PMC for importing globals between namespaces
366 + new string utilities for radix conversion
367 + PCCINVOKE and Parrot_PCCINVOKE allow calling using the full Parrot Calling
368 Conventions from PMCs and C code respectively
370 + Refactorings and improvements in test coverage for 'Configure.pl'
372 + many bugfixes, enhancements, and code cleanup
373 + added example subversion config file
374 + extended support for gcc, icc, and other compilers
375 + extended support for Solaris and other platforms
381 + IMCC: Parrot calling conventions now available between two C PMCs (PMINVOKE)
382 + PGE: Match object improvements
383 + smop: added Attribute and Class PMCs
384 + HLLCompiler: improvements for interactive mode
386 + extended binding to a list of variables
388 + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), Ruby ("Cardinal")
389 + Update PIR, regex, Zcode
390 + New language: Pynie - a Python compiler for Parrot
391 + Lua implements require and many other ops, improved regex support
394 + PDD01 "Overview" - updated architecture and platform information
395 + PDD15 "Objects" - details on roles, objects, and classes added
396 + PDD22 "I/O" - added async ops and Status PMC details
398 + Added guides for Metacommitter, Relase Manager, and Cage Cleaner roles
400 + Object, Class, Role, and Attribute PMC implementation has begun
401 + Perl 5 module "Parrot::Embed" now compiles and links on all platforms
403 + Major improvements in test coverage for 'ops2c.pl'
405 + New utility: Crow, a template processor
406 + New library module: Config/JSON for reading/writing JSON files
407 + many bugfixes, enhancements, and coding standard updates, code cleanup
412 + IMCC: Parrot calling conventions now available in C PMCs, allowing
413 named, optional, slurpy, and flat parameter passing
414 + PGE: extended support for Perl 5 Regexes
415 + smop: prototype object model implementation
416 + hllcompiler: refactored to run a configurable set of compilation stages
418 + redesigned assign/binding to support Perl 6 binding semantics
420 + Updated Lua, PHP ("Plumhead"), Tcl ("ParTcl"), perl6, perl5
421 + New language: PIR - a PGE-based implementation of Parrot PIR
422 + perl6 now supports binding (':=') and 'join'
423 + lua generates tail calls, and supports its own regex flavor (PGE-based)
424 + Pheme still works, huzzah!
426 + PDD21 "Objects" - rewritten
427 + PDD22 "I/O" - updated and 'TODO' tests added
429 + Interface stability classification standards approved
430 + Roles and Responsibilities documented approved
431 + Official 'drafts' directory created (was 'clip')
433 + More NameSpace and OS PMC methods implemented
434 + Parrot executable fullname and basename now available in PIR/PASM code
435 + new 'chomp' library function
437 + Major improvements in test coverage for 'ops2pm.pl'
439 + many bugfixes, enhancements, and coding standard updates
440 + extended support for Sun Workshop Compilers
441 + Parrot now builds on PocketPC platform
446 + HLLCompiler: added tracing options, modified api
447 + PGE & TGE bugfixes and updates
449 + added global and lexical variable support
450 + added looping constructs, arrays, hashes
452 + Updated PHP ("Plumhead"), Tcl ("ParTcl"),
453 forth, perl6, lua, abc, APL, WMLScript, punie
454 + ParTcl is passing > 24.9% of Tcl cvs-latest test suite
455 + perl6 now supports hashes, arrays, method calls, arity-based
456 multisubs, quoted terms, ranges (non-lazy), try blocks, $!
458 + PDD01 "Overview" - updated
459 + PDD22 "I/O" - rewritten and approved
461 + Converted Perl 5 Regex tests to PIR, with notable speedup
462 + Added tests for opcodes, compilers, languages, and coding standards
464 + Major improvements in test coverage for 'pmc2c.pl'
466 + many bugfixes, enhancements, and coding standard updates
467 + extended support for non-core platforms including Cygwin, Tru64
471 - New languages: PHP ("Plumhead"), Forth
472 - Updated languages: Ruby ("Cardinal"), Tcl, Lua
473 - Remove old Python implementation from Parrot repository; the new Python
474 language code is hosted at http://pirate.tangentcode.com
476 + PGE updated with more expressions, latest changes to S05
477 + new Perl 6 grammar compiler
479 + Perl 5 module "Parrot::Embed" allows easy embedding of a Parrot
480 runtime into a Perl 5 program
482 + new :init pragma for subs that must run before the main function
483 + new :vtable pragma to identify subs that override PMC vtable methods,
484 eliminating the need for special subroutine names
485 + PIR parser/compiler does not stop on first syntax error
486 + Vanilla register allocator ("register alligator") greatly improves
487 performance compiling large functions
488 + Eliminated limit on number of PIR macros
490 + hash lookups return null instead of None for missing keys
492 + PDD13 "Bytecode files: format and manipulation" - new
493 + PDD10 "Embedding" - new
494 + PDD25 "Concurrency" - rewritten
495 + PDD15 "Objects" - new section on redesign requirements
496 + PDD07 "Coding standards" - significant updates and automated tests
498 + Many many more new tests
500 + autoconf compatible install options
502 + Namespace refinements
503 + Coroutine improvements
504 + An impressive swarm of other bugfixes and enhancements
508 - New languages: Ruby ("Cardinal"), Javascript ("ecmascript")
509 - Updated languages: Tcl, dotnet, bc, Pheme, Punie, WMLScript
510 - Updated compilers: PGE, TGE
512 + ".loadlib" directive expresses dependencies
513 + ".namespace" with no parameter goes to HLL root
514 + lexer is reentrant (reentrant grammar in progress)
515 - Namespace improvements:
516 + new suite of opcodes to access namespaces and globals
517 ("find_global" and "store_global" will be phased out)
518 + namespace '' no longer means HLL root
519 - Design document updates:
520 namespaces (pdd23), basic types (pdd17), embedding
521 - Updated tool requirements for developers:
522 flex 2.5.33, bison 2.1, perl 5.6.1
523 - New to-do list for people new to Parrot:
525 - The usual plethora of bugfixes and enhancements
529 - unicode subroutine names
530 - hierarchical class names finished including MMD support
531 - new dotnet CLI to PIR translator
532 - improved TGE code and compiler
533 - APL: vector handling
534 - new STM branch in the svn repository
535 - the usual bugfixes and enhancements
539 - hierarchical class names
542 - understands simple vector ops, strings
543 - demonstrates use of Unicode in Parrot
544 - pgc, a compiler for rules and operator precedence parsers
545 - Major redesign and improvements for PGE
546 - compilers understand named parameter options
547 - :ratchet option implemented to support non-backtracking quantifiers
548 - TGE (tree grammar engine) for tree transformations
549 - tgc, tree grammar compiler
551 - support for many operators, lexical scalars, regex matches
552 - new pheme (Parrot scheme) compiler
556 - namespaces partially implemented
557 - rulec, Perl 6 rule compiler
558 - PGE improvements including return values for closure
559 - parts of a Perl 6 parser based on PGE
560 - complex trigonometric methods
561 - type of Sub PMC is now overridable by HLL
563 - many bug fixes and improvements
567 - improved PPC and x86 JIT support including JIT compilation
568 of very simple PASM/PIR subroutines
569 - preliminary libreadline support
570 - better trace and debug features
572 - META.yml to support proper indexing on CPAN
573 - new opcode: hcf (in "my_ops" in dynamic op library)
574 - new File pmc for file specific ops (is_dir, is_file, copy, rename...)
575 - named arguments and parameters (both :named("") and => syntaxes)
576 - ongoing config improvements
577 - tons of bug fixes and other small improvements - too much to list all
581 - Installation: 'make install' is using standard locations now
582 (/usr/local is the default --prefix)
583 - Produce static and shared libraries on some systems
584 - Configure system rearragement
585 - OS pmc started (mkdir,cd,cwd,rm,umask,stat)
587 - Test files are now testable with 'prove'
588 - Smoke (and smokej) outputs progress
589 - PIR supports: I = A < B (>,<=,>=,==,!=)
590 - Add support for octal number constants
592 - almost finish [string]; start [file]
593 - add build tool for generating inline'd tcl builtins from templates.
594 - Jako updates: NCI, subroutines, global variables and constants all work.
599 - New lexical handling and closure support including better
600 introspection for caller and outer
601 - PGE (Parrot Grammar Engine) provides now compilers for P6Rule,
602 P6Grammar, P5Regexp, and Glob
603 - ca. 1000 new tests including 800 for Perl5 regexp
604 - Improved unicode charset and encoding support
605 - Calling conventions for exception handlers
606 - Punie (Perl 1) uses TGE (Tree Grammar Engine) to convert from
607 PGE match objects to AST via two steps of tree transformation grammars
608 - New languages: amber and lua
609 - The usual code fixes, cleanup, and improvements, including an overhaul
610 of the config and test framework
614 - Variable sized register frames are finished. Each subroutine gets
615 the amount of registers that it actually needs. No more spilling.
616 - Vastly improved PGE (Parrot Grammar Engine) including shift-reduce,
617 precedence-based expression parser and support for matching of
618 bracketed text delimited by e.g. ()[]{}'"
619 - uniccode character classification (is_upper ...)
620 - support for heredoc syntax in assembler
621 - improved examples, basic JSON support
622 - debian packaging support
623 - the usual improvements, bug fixes, and cleanup
624 - test count exceeds 3000
628 - New calling conventions implemented: see PDD03 for details
629 - Merge multiple Parrot bytecode (PBC) files into a singe PBC file
630 - 'make smoke' target going beta
631 - bc now supports if statements, comparison ops, prefix inc/dec
632 - ParTcl adds [lassign], [switch] (partially); [expr] converted to a compiler
633 - Many exciting doc updates, tests, and bugfixes, too numerous to mention
637 - Dynamic classes now compile on Windows (including ParTcl)
638 - New Super PMC allows easy access to superclass methods
639 - Implement C3 method resolution order (just like Perl 6 & Python)
640 - ParTcl has new PIR-based parser and passes more Tcl tests
641 - added character class support in Globs to PGE
642 - added language implementations of unlambda, Lazy-k
643 - many bugfixes, including GC and memory leaks
644 - the new calling scheme continued to evolve in branches/leo-ctx5
648 - new call scheme: docs/pdds/pdd03_calling_conventions.pod
649 - partial implementation of the new calling conventions
650 PASM only, don't mix PIR foo() call syntax with the new scheme
651 - grammar and rule support in PGE - the Parrot Grammar Engine
652 - TCL passes >10% of the tcl test suite
653 - the usual bugfixes and improvements
657 - better HLL support (short names for object attributes, and
658 .HLL and n_operators pragmas)
659 - string encoding and charset can now be set independently
660 - experimental mmap IO layer for slurping files
661 - distinct debug and trace flag settings
662 - glob support in PGE
663 - new character classification opcodes and interfaces
667 - parrot repository is now under subversion
668 - MMD (Multi Method Dispatch) enhanced
669 - new unary and infix opcodes that return new result PMCs
670 - dynamic scalar PMCs inherit now almost all from Parrot core PMCs
671 - more unification of PMCs and ParrotObjects
672 - tailcalls for functions and methods
673 - PGE (Parrot Grammar Engine) reworked
674 - Pugs creates Parrot code and Pugs is a registered compiler now
676 - the usual bug fixes and improvements
680 - New string handling code. Strings now have charset and encoding
681 - Parts of a generation garbage collector
682 - Better Python code, separated in dynclasses
683 - Parrot Grammar Engine
684 - Improved test coverage and documentation
688 Parrot 0.1.1 is an intermediate release with tons of updates and fixes.
689 - Python support: Parrot runs 4/7 of the pie-thon test suite
690 - Better OS support: more platforms, compiler, OS functions
691 - Improved PIR syntax for method calls and <op>= assignment
692 - Dynamic loading reworked including a "make install" target
693 - MMD - multi method dispatch for binary vtable methods
694 - Library improvement and cleanup
695 - BigInt, Complex, *Array, Slice, Enumerate, None PMC classes
696 - IA64 and hppa JIT support
697 - Tons of fixes, improvements, new tests, and documentation updates.
698 A lot is unfinished and keeps changing. Nethertheless Parrot is stable
699 and usable at the surface, while internals are moving.
702 - "Ladies and gentlemen, I give you... objects!"
703 - Huge documentation overhaul
704 - More supported platforms, s. PLATFORMS
705 - Basic thread support for pthread based architectures
706 - Basic event handling for timers and signals including:
707 - PASM callbacks for NCI (native C) functions.
708 - Improved platform configuration
709 - COW stacks now working, stacks code redone
710 - Structure handling vastly improved
711 - Random PMC and rand primitives
712 - Better subroutine call syntax in PIR
713 - Make PIR subroutines compliant with pdd03
714 - Improved profiling (DOD, GC timings)
715 - Hash code improvements, incl. random key order support
716 - Experimental freeze/thaw code for some PMC types
717 - IO improvements for buffered layer and Win32
719 - String bitwise vtables
721 - Support for JIT, where malloced memory isn't executable
722 - Priority DOD scheme for objects that need timely destruction
723 - Improved byte code loading (e.g. onLoad functions)
724 - Language updates: forth, Perl 6/P6C, m4
725 - Libraries: Getopt_Long, SDL, Dumper, Sort
727 - Unified imcc and parrot test handling
728 - Many new tests (make test reports 1386 tests)
732 - The Big Move: Parrot source and build files rearranged into sub dirs
733 - Build imcc as parrot
734 - Objects more finished
735 - Delegate vtable methods to byte code
736 - Binary multi-method dispatching
737 - Isa and does methods for PMCs
738 - Call byte code from C
739 - Start of extension interface
740 - Experimental struct handling
741 - Catch access to NULL PMCs
742 - Experimental network socket interface code and opcodes
743 - IO fixes and improvements
744 - Dynamic opcode libraries
745 - Fix-assigned opcode numbers
746 - Argument flattening for function calls
747 - More native call interface (NCI) signatures
748 - Ncurses, postgres, and pcre interface libraries
749 - Forth language is vastly improved
750 - BSD and Win32 build improvements
751 - Many new tests and fixes
754 - This number intentionally left blank
758 - Dynamic PMC registration
759 - Trial exception system
760 - Beginnings of object system
763 - I/O system improvements
765 - Documentation for basic PMC types
766 - IMCC support of Parrot Calling Conventions
767 - Runtime loading of chartypes (and other string improvements)
768 - Conditional breakpoints
769 - Dramatically accelerated sweeps for finalizable objects
770 - Small PMCs (PMCs split into core and extensions)
771 - Loadable bytecode packfiles
773 - Sub variants that deal with the stack correctly
774 - Switched runops core
775 - Line numbers in warnings
777 - Many documentation cleanups
778 - Conversion to CPS style!
779 - BASIC debugger and many other wacky features
780 - Filename, line number parsing support in IMCC
785 - some more benchmarking
788 - intersegment branches
789 - more complete use of PObjs
790 - beefed up packfiles
791 - sub/continuation/coroutine fixes
792 - better NCI (native calling interface)
793 - many imcc improvements
798 - Native function calling interface (Dan)
799 - Stack/list aggregate rewrite (Leo)
800 - Scratchpads (Jonathan Sillito)
801 - Preliminary DotGNU support -- type conversion ops (Gopal V + Leo)
802 - Buffer/PMC unification (Leo)
803 - stabs debugging support for JIT (Leo)
804 - Jako overhaul (Gregor)
805 - Optional Lea allocator (Leo)
806 - Parrot sprintf (Brent)
808 - PMC Properties (Dan)
809 - Various JIT improvements (D. Grunblatt + Leo)
810 - Extensible packfiles (Juergen)
811 - Restructured PMC hierarchy (Leo)
812 - Real Scheme (Juergen)
816 - Several new grammars and a BNF -> perl5 and perl6 converter (Jeff)
817 - Working Perl 6 REs (Sean)
818 - Keyed Access (Tom Hughes et al)
819 - New PMCs (Alberto et al)
820 - Better Documentation
822 - GC acceleration (Mike Lambert)
823 - Lexical scope (Jonathan Sillito)
829 - Perl 6 Grammar and Compiler (Sean)
830 - Subroutines, coroutines, and continuations (Melvin)
831 - GC improvements (Peter Gibbs, Mike Lambert)
832 - Global variables (Melvin)
833 - Intermediate bytecode compiler (Melvin, Angel)
834 - And much, much more.
838 - New assembler that support keyed types (Jeff)
839 - New macro layer, allowing constants (Jeff)
840 - New Configure.pl (Brent)
841 - Changes to bytecode format, endian issues resolved (Melvin)
842 - GC improvements and bug fixes (Peter Gibbs, Mike Lambert)
843 - JIT compiler rewrite (Jason and Daniel)
844 - Parrot assembler in Parrot (Daniel)
845 - Parrot debugger (Daniel)
846 - BASIC polished, Eliza.bas is new (Clint)
847 - Cola compiler committed and working, with limited OOP (Melvin)
848 - Keyed aggregates (Steve Fink)
849 - Global ops (Melvin)
850 - Compile-time speedup (Melvin)
853 - Contributed tetris and lzw files
854 - And many more, from the cast of thousands
859 - Perl Scalar support in PMCs
860 - Array and Hash types almost ready for prime-time
861 - Internal support for keyed types
864 - New Language - BASIC
865 - Regular expression compiler
867 - Many, many bug fixes, enhancements, and speedups
871 - Arena-based memory allocation system
874 - "Predereferencing" mode - ./parrot -P - 22% speedup
875 - JIT compiler - ./parrot -j
876 - Parrot now builds warnings-clean on many platforms
877 - Many more PMC methods implemented
878 - Regular expression operations
880 - Basic support for embedding Parrot in other programs
882 - Added PDDs to distribution
886 - Added an assembly optimizer
887 - Improved string encoding/type support
889 - Source reformatting
890 - Major refactoring in packfile library
891 - More Miniperl functionality
892 - New PMC "clone" operator
893 - Beginnings of key-based access to PMCs - arrays and hashes
894 - MOPS comparisons in examples/mops/
899 - Perl base scalar types implemented
900 - A new minilanguage, Scheme
901 - Much improved documentation
902 - Register stacks pushing and popping
903 - User stack pushing, popping and rotating
904 - Jako updates: subroutines, more example programs, optimizations
905 - test_prog renamed to 'parrot'
907 - Added features to the assembler: @ for current location, and global
909 - Build tweaks for VMS
910 - Bytecode typing clean-ups
911 - More platforms: OS X, HPUX, OS/2
912 - The proliferation of runops cores reduced to one fast and one slow one
913 - Opcode tracing, bounds checking, profiling
914 - Vastly improved string support, with separation of encoding and
917 - Multiple interpreter creation support - the beginnings of threading
918 - Much better resource handling - the beginnings of GC
922 - Parrot now works on all core platforms
923 - A large number of tests, in the standard Perl testing framework
924 - A new minilanguage (Jako) which compiles to Parrot assembly
925 - Documentation about the assembly language (docs/parrot_assembly.pod)
927 - Separate modules for assembly (Parrot::Assemble) and bytecode
928 manipulation (Parrot::PackFile::*, packfile.c)
929 - Assembler completely rewritten
930 - Better operand-type guessing in the assembler
931 - Assembler support for '\n' etc. in string constants
932 - Code reformatted to match the coding standards
933 - New ops for register-constant INTEGER comparisons
934 - Macro expansion in the assembler
935 - IVs and NVs renamed to more friendly INTVAL and NUMVAL
936 - Hard-coded pack("") formats removed
937 - Better handling of floating-point numbers in assembler
938 - Moved floats to constant table (fixing many alignment issues)