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


Reply via email to