Sat Aug 18 16:08:24 EDT 2018
Term type cleanup
This requires a lot of code changes, so might not be the thing to do
at this moment.
Basically, I want to get to this:
data Form n =
| Comb1 Seq.Op1 n
| Comb2 Seq.Op2 n n
| Comb3 Seq.Op3 n n n
| Slice n Seq.SSize Seq.NbBits
| Delay n
| Connect n
| Mem (n,n,n,n)
| Input -- Externally driven node
deriving (Show, Functor, Foldable)
The changes to the original Term:
- Flatten Term (Op n) to Form n. This is already implemented. It
seems necessary to be able to keep the non-monadic constants.
- Change the memory representation such that memory is just an i/o
function. The read data register can then be added as a normal
- This then allows SType to be factored out of the Form type.