I have released "Amber for Parrot" version 0.3.0 (Struggle): 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.3a: - "include" directive allows functionality to be included from Parrot Intermediate Representation (*.pir) files - "load" directive allows functionality to be loaded from Parrot Bytecode (*.pbc) files - Iterator 'each_line' of class FILE now smoothly handles a file with no newline at the end of the last line - The "can't find feature" error message now shows the source location of the failing call - Added kernel class CCLASS which enumerates character classes that can be searched for within strings (uppercase, lowercase, alphabetic, hexadecimal, whitespace, punctuation, etc) - "Slurpy arguments" implemented, which allows the caller of a routine to pass a variable number of arguments, which are collected ("slurped") into the final formal argument if it is followed by elipsis ("...") - Routine bodies may be marked "external parrot" which means that the implementation will be dynamically loaded from some Parrot Bytecode or Parrot Dynclasses library. - Added feature 'type_id' to class ANY - Renamed feature 'isa' to 'is_a' in class ANY - Added conversions between INTEGER, CHARACTER, BOOLEAN, STRING - Added and reorganised many kernel class features as part of testing three alternative kernel class implementations. - Capitalised 'Current', 'Result', 'Void', 'True' and 'False' to make SmartEiffel 2.2 beta 3 happy - Various bug fixes - Estimated progress towards release 1.0: language constructs 42%, libraries 3%, documentation 3%, robustness 3% The "three alternative kernel class implementations" referred to above are: (1) Wrapper around the standard Parrot PMC classes, (2) Custom Amber PMC classes, and (3) Custom Amber PIR classes. The default kernel for this release is still (1). However, my experimentation showed that (2) provides advantages in terms of performance and functionality. Up to now the kernel library was really just a stub to interact with the Parrot runtime and get things working. The major development focus for the next release of Amber for Parrot will be to implement enhanced kernel libraries as Custom Amber PMC classes. Roger Browne