!!! 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.