Fri May 17 14:12:15 EDT 2013
Compile time vectors
Maybe it's good to allow state nodes to be compile time vectors. This
requires an extension in ai-array.
The trouble with that is the type needs to be known at input.
Auto-lifting could be used.
It is getting dangerously complicated. This is the constructor
commutation problem I ran into in haskell, i.e. generalized transpose:
foo of bar to bar of foo.
It would actually help to have a proper type system to annotate the
nodes. Something that runs "backwards".
How to construct an annotated semantics?
A program is a sequencer of primitives.
Maybe the primitives should be extended to take a context?
They already do for semantics, but not node-specific.
I.e. adding context requires the introduction of an identity.
Every primitive node is unique.
Currently, the isomorphism between the output and the primitive node is implicit.
What does a type checking transformation look like?
I'm thinking, everything points in the direction of automatic lifting.