Thu Aug 20 12:56:12 EDT 2015
Code vector representation
Basically: (Int, Int -> Comp (Code t))
This doesn't fit in a Term, or does it?
It would create a mutual dependency. A solution would be to hide it
in a dictionary in the monad, and use variables.
Let's move Term.hs into Code.hs
The fundamental conflict arises from things that produce vectors: the
"value" needs to be accessible. So either they need to be kept out of
Let expressions, or the state should have a dictionary to be able to
The latter seems clunky, so let's put it in Term first.
It's not in Term.
It's Code itself that should have an array type.