README.md
# leviathan
[![Package Version](https://img.shields.io/hexpm/v/leviathan)](https://hex.pm/packages/leviathan)
[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/leviathan/)
A simple library that implements the State Monad in Gleam!
![Leviathan](./thumbnail.png)
## Example
```gleam
import leviathan as lv
fn tick() -> lv.State(s, Nil) {
use x <- lv.do(lv.get())
lv.put(x + 1)
}
```
## Installation
To add this library as a dependency to a gleam project run the following command:
```sh
gleam add leviathan
```
## Documentation
The auto-generated documentation can be founded [here](https://hexdocs.pm/leviathan)