Previously I wrote about 1000 lines of host code by hand, now we can generate host code automatically instead (about 1200 lines).
I did not try running the code yet
I had to implement some hack to counter the fact that two unified nats may not have equal normal forms after type inference (the problem was there before and is completely orthogonal)
I had to replace global temporary memory with local temporary memory, as support for global temporary memory has not yet been implemented
I had to convert vectorized temporaries to scalar temporaries, as support for vectorized temporaries has not yet been implemented
I changed memory hoisting to allow hoisting local memory outside of a mapGlobal, but the implementation will not work in the general case, its just a quick hack
if we merge this PR, we would end up with 3 different Harris applications in the codebase, which is a bit messy. things could be factorized.
Previously I wrote about 1000 lines of host code by hand, now we can generate host code automatically instead (about 1200 lines).