Wed May 23 09:02:42 EDT 2018

State monad vs. state update functions

I'm implementing a partial emulator for Sitara PRU.

Instead of using explicit state update functions s->s, I'm using a
state monad :: m ().  Because of (), this seems not necessary.

However, it is still useful because intermediate computations used to
implement the instructions can still return values inside the monad,
such as e.g. a register lookup function :: m Int.