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