develooper Front page | perl.perl6.internals | Postings from September 2005

Announcing "Amber for Parrot 0.2.3a (Ashes)"

Roger Browne
September 24, 2005 14:00
Announcing "Amber for Parrot 0.2.3a (Ashes)"
Message ID:
I have released "Amber for Parrot" version 0.2.3a (Ashes):

Release history:
Project home page:

"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

 - 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 '' 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

 - 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

 - 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)

 - Added features 'load_bytecode' and 'sleep' to class ANY

 - Added '', a GUI example that uses Parrot's SDL

 - Added kernel class RULE, for regular expression matching

 - Added the 'Exploring Regular Expressions' example (

 - 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 Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About