If you are familiar with Haskell’s stm
package, a LVar
is essentially a TMVar
but with an extra ability for other threads to observe changes. Ema uses it for hot reload, and your application code is expected to set and update its model through the LVar.
Documentation on LVar
is available on Hackage.