Skip to content
/ act Public

🎬 Compose stateful actions to simulate mutable state

License

Notifications You must be signed in to change notification settings

MystPi/act

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 act

Package Version Hex Docs

Gleam is a functional programming language that does not support having mutable state. As such, programmers often have to pass state around manually, threading it through functions via arguments and return values. This can become a bit repetitive and clumsy.

What if state could be 'threaded' through functions automatically, with a nice API that resembles mutable state? This is the central idea of act and the Action type.

type Action(result, state) = fn(state) -> #(state, result)

act is inspired by the (now outdated) gleam-eval package. gleam-eval is super cool, but only supports the Result type and was not created with Gleam's use feature in mind.

Installation

gleam add act

Docs & Example

Documentation can be found at https://hexdocs.pm/act. A simple example lives in test/act_test.gleam.

Development

gleam run   # Run the project
gleam test  # Run the tests