!!! Version 0.9.6 Released

The goal of this release is to get important bugfixes and enhancements released before we embark on a significant refactoring of the engine to make it more extensible.

Highlights of this release:

!! NEW FEATURES
* Improved prototype type checker and type annotation syntax: now actually usable for most real programs.
* withLock, rangeBy, altMap, joinMap, seqMap functions added to stdlib.
* types which can be tested for structural equality are registered in a set which can be augmented by user libraries.
* Prototype runtime (dag, token, etc) support for transactions.
* Prototype implementation of nestable and independent logical timers.
* Set, Map, and Array support site call notation for reading and
writing elements, e.g. "a(3) := 4"

!! BUG FIXES
* Compiler service works correctly.
* Web service examples work correctly.
* Compiles and runs under JRE 1.6 (Java SE 6).
* The "unguarded recursion checker" handles semicolon correctly.
* Fix bugs with foldr1 and range in stdlib.
* Fix bug with using immutable values as keys in Map and Set.

!! OTHER CHANGES
* Publish patterns (">!x>") no longer supported; use " >x> ( x | ... )" instead.
* Stdlib "por" and "pand" take lists instead of two arguments.
* "sequence" stdlib function renamed to "seq".
* Left and Right datatypes no longer included in stdlib.
* Tokens are no longer pooled; speed benefit is not significant enough to justify memory wastage.
* Failed pattern matching in definitions causes an error message.