Tue May 21 09:04:22 EDT 2019
Binding is easy: it always uses the current environment. Reference is
The core issue is in Let: binding and reference need to be split there.
Ok so I have something halfway meaningful: Below,
i,j: input dimensions
k,l loop: refs to ij are abitrary, possibly function of k,l
m,n loop: refs to ijkl are arbitrary, possibly function of m,n
Ckl <- Aij Bij
Dkl <- Aij Ckl
Emn <- Dkl
Fmn <- Aij Emn
Next: make the distinction between local loop variables and size
variables apparent. Maybe track the dimensions in an environment
through the compilation?
Additionally, it should be impossible to make array dimension