This repository has been archived by the owner on May 26, 2020. It is now read-only.
Releases: jdantonio/functional-ruby
Releases · jdantonio/functional-ruby
Release 1.3.0
Release 1.2.0
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 1.1.0
- 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 1.0.0
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.
Features
- 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