I have released "Amber for Parrot" version 0.2.3a (Ashes): Downloads: http://xamber.org/download.html Release history: http://xamber.org/history.html Project home page: http://xamber.org/index.html "Amber for Parrot" is an Eiffel-like scripting language for the Parrot Virtual Machine. Changes since version 0.2.3: - Added an implementation of 'Conway's Game of Life' to the examples directory - A name clash between a local variable and a feature is now a validity error - 'retry' and 'recover' instructions are now rejected if they appear outside of a rescue clause - The generated PIR code now uses the 'if_null' opcode instead of the deprecated 'isnull' - Manifest strings may now contain hex escapes, e.g. '\{7F}' (and '\{0}' obsoletes the '\u' escape) - A new kernel class ARGUMENTS replaces the previous command-line-argument mechanism - Escape codes are recognised within character constants, e.g. '\n', '\{1F}' - The catenation operator '&' now works for mixed-type expressions (CHARACTERs, INTEGERs etc) and catenates their string value - Parrot (non-Amber) classnames now begin with '@@' instead of being enclosed by '{{..}}' - Parrot (non-Amber) featurenames now begin with '@' instead of being enclosed by '{..}' - Added the 'catenate.am' test case - Changed the '99 bottles of beer' example to use 'is'-functions rather than 'do'-functions - External 'pir' routines can now have postconditions - External 'pir' routines can now have rescue and finally parts - Disambiguation of the left parenthesis: A left parenthesis as the first token on a new line, or as the first token after a semicolon, starts a new instruction. A left parenthesis in other positions opens the list of arguments to a call. - Argument count mismatches are now also detected for 'is'-body functions - The main script no longer supports a Class_invariant (only classes do) - 'result' is now a keyword, and can't be a formal argument or local variable name - Local variables can now be initialized at the point of declaration, e.g. 'local answer := 42' - Source location is now always shown for Creation_expression errors - Better error message when garbage is present in the main script - Parrot (non-Amber) identifiers may now include the colon character - Creation parameters can now also be supplied to Parrot (non-Amber) types - Added features 'load_bytecode' and 'sleep' to class ANY - Added 'amber-squares.am', a GUI example that uses Parrot's SDL wrapper - Added kernel class RULE, for regular expression matching - Added the 'Exploring Regular Expressions' example (regexp.am) - Documentation: Extended the website pages that describe language interoparability and the use of Amber keywords. Added website pages to document Amber symbols, other lexical elements, and operator precedence. - Major refactoring of the lexical analysis and parsing code - Various bug fixes - Estimated progress towards release 1.0: language constructs 41%, libraries 2%, documentation 2%, robustness 2% Roger Browne