Mon May 28 15:46:37 EDT 2018
So question: include more state in the state monad by parameterizing
it, or use explicit state in the trace (run) function.
Start from the use case again.
I'm writing a HDL code that is somehow parameterized by a number of
memories. The implementation of these memories should probably be
abstract, such that it can be filled in during test time.
With this code, I want to:
- generate it as HDL, where it will be combined with an HDL stub to
patch it into the memories.
- generate it as a test function that can provide the meories and
produce an output sequence.
My "main" program can just be parameterized by the memory interfaces,
collected in a functor.