Sun Feb 14 15:32:34 CET 2010
Cleanup: sparate Ai.hs and Term.hs
Recovering sharing seems to work. What's next? Abstracting it such
that different number systems can reuse the sharing + flattening code.
It's probably easier to build build the syntax tree on top of a shared
data type, than to abstract the recursion pattern. Or not?
What do we really need more than an ordinary fold?
Some guideline: datatypes and pattern matching functions are lowlevel
and don't compose easily, operators are highlevel and compose in a
It's probably simpler to keep what is now Ai.hs to be the language
backbone, and separate it from the abstract interpretation.