Current Release v1.3.0 (October 4, 2015)¶ ↑
-
Pattern match now check arity of pattern and block
-
PatternMatching::ALL
pattern now should be presented as variable length args (*args) -
NoMethodError
andArgumentError
raised from method block won’t be catched anymore by lib
Release v1.2.0 (July 10, 2015)¶ ↑
-
Record
classes can be declared with a type/protocol specification for type safety. -
Improved documentation
-
Improved tests
-
Better synchronization (thread safety) on all platforms
-
Continuous integration run on both Linux (Travis CI) and Windows (AppVeyor)
Release v1.1.0 (August 12, 2014)¶ ↑
-
A simple implementation of tuple, an immutable, fixed-length list/array/vector-like data structure.
-
FinalStruct
, a variation on Ruby’sOpenStruct
in which all fields are “final” (meaning that new fields can be arbitrarily added but once set each field becomes immutable). -
FinalVar
, a thread safe object that holds a single value and is “final” (meaning that the value can be set at most once after which it becomes immutable).
Release v1.0.0 (July 30, 2014)¶ ↑
-
Protocol specifications inspired by Clojure protocol, Erlang behavior, and Objective-C protocol
-
Function overloading with Erlang-style function pattern matching
-
Simple, immutable data structures, such as record and union, inspired by Clojure, Erlang, and others
-
Either
andOption
classes based on Functional Java and Haskell -
Memoization of class methods based on Clojure memoize
-
Lazy execution with a
Delay
class based on Clojure delay