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

Announcing "Amber for Parrot 0.2.3a (Ashes)"

From:
Roger Browne
Date:
September 24, 2005 14:00
Subject:
Announcing "Amber for Parrot 0.2.3a (Ashes)"
Message ID:
1127596043.14556.13.camel@eiffel.demon.co.uk
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





nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About