smut
Dirty, dirty: Shared MUTable state.
Currently this package only supports the erlang target, but it’ll support
javascript eventually.
Obviously, this isn’t really shared, mutable state in the way that can cause undefined behavior. On the Erlang target, the state is managed in its own process, and updates and retrievals are managed through requests to that process’s mailbox, and are guaranteed to happen sequentially.
This package is not in any way for the kinds of optimizations that can be perpetrated by using mutable state; if you’re here for that, you’re using the entirely wrong language. This package is for ergonomy in dealing with things like rate limiters in web servers, where multiple threads of execution all need to be counting requests together.
smut is still under heavy development. Obviously.