datum : “scrap your boilerplate” for Erlang
You could do this with a macro, but… the best macro is a macro you don’t maintain
datum is a pure functional and generic programming for Erlang. It had its origins in Purely Functional Data Structures by Chris Okasaki, on implementing a various higher rank functional abstractions and patterns, on dealing with scrap your boilerplate and gaining experience from other functional languages primary Scala and Haskell. The library is still testing the limits of functional abstractions in Erlang.
Getting started
The latest version of the library is available at its master
branch. All development, including new features and bug fixes, take place on the master
branch using forking and pull requests as described in contribution guidelines.
The stable library release is available via hex packages, add the library as dependency to rebar.config
{deps, [{datum}]}.
Please follow the feature overview to start leaning all available features; then continue to library examples and to source code.
bugs
If you experience any issues with the library, please let us know via GitHub issues. We appreciate detailed and accurate reports that help us to identity and replicate the issue.
Specify the configuration of your environment. Include which operating system you use and the versions of runtime environments.
Attach logs, screenshots and exceptions, in possible.
Reveal the steps you took to reproduce the problem, include code snippet or links to your project.