[Haskell-cafe] ANN: data-fix-cse -- Common subexpression elimination for EDSLs
Emil Axelsson
emax at chalmers.se
Thu Feb 21 11:49:22 CET 2013
This should be possible using higher-order terms, as in
http://hackage.haskell.org/packages/archive/compdata/latest/doc/html/Data-Comp-Multi-Term.html
The only complication I see is that the Dag nodes would get
heterogeneous types requiring existential quantification with a
`Typeable` constraint. A better representation might be typed ASGs [1]
Syntactic has typed ASTs and it has a module that does something similar
to data-fix-cse (uses a combination of stable names and hashing), but it
needs some fixing up.
/ Emil
[1]: http://dl.acm.org/citation.cfm?id=2426909
2013-02-20 01:58, Conal Elliott skrev:
> Do you think the approach can be extended for non-regular (nested)
> algebraic types (where the recursive data type is sometimes at a
> different type instance)? For instance, it's very handy to use GADTs to
> capture embedded language types in host language (Haskell) types, which
> leads to non-regularity.
More information about the Haskell-Cafe
mailing list