The Relate type system package, a drop-in replacement for lodash following a monadic pattern.
$ npm ci
$ npm run build
$ npm test
Helpful Resources
- What The Heck Is A Monad
- A Guide to Scala Collections: Exploring Monads in Scala Collections
- Practical introduction to Functional Programming with JS
We have our own monadic type system which is continuously under development. The aim of this system is to ensure type-safety, reduce complexity of logic and control-flows, improve legibility of code, and improve TypeScripts ability to do type-inference et al.
We currently have the main data types of JS represented
- None (
undefined
) - Nil (
null
) - Num (
Number
) - Str (
String
) - Bool (
Boolean
) - List (
Array
) - Dict (
Object || Map
)
** See the docs for detailed usage **