Recordclasses 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)
- A simple implementation of tuple, an
immutable, fixed-length list/array/vector-like data structure.
FinalStruct, a variation on Ruby's
OpenStructin 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).
Version 1.0 is a complete rewrite. Previous versions lacked a unified focus. Version 1.0 is a cohesive set of utilities inspired by other languages but designed to work together in ways idiomatic to Ruby.
Complete API documentation can be found at Rubydoc.info.
- Protocol specifications inspired by Clojure protocol,
and Objective-C protocol
- Function overloading with Erlang-style function
- Simple, immutable data structures, such as record and union, inspired by
Optionclasses based on Functional Java and Haskell
- Memoization of class methods based on Clojure memoize
- Lazy execution with a
Delayclass based on Clojure delay