Re: [Haskell-cafe] Who generates Haskell code and uses type information at runtime?

GHC is the current state of the art, which will give you a full Haskell AST enriched with type information. You can then just modify the AST directly.
I experimented with the AST from HscTypes.CoreModule in the ghc api. However, it seems that this representation is too far away from my theory. I would prefer something similar as Template Haskell.
The ghc-api is somewhat sparsely documented
That might be the reason, why I have not seen how it can help me.
It really depends on what you are trying to do...
Putting in a nutshell, I generalize an extensional defined function definition into a recursive one. This is done in a number of steps by modifying expressions and exploiting type information of sub-expressions. For example: rev [] = [] rev [a] = [a] rev [a,b] = [b,a] rev [a,b,c] = [c,b,a] ~~> rev x = y ~~> rev [] = [] rev (x:xs) = (y:ys) ~~> rev [] = [] rev (x:xs) = (last (x:xs)) : (reverse (x:xs)) The initial set of rules is given by the user (in a file, via IO, ...). The problem later is to infer the type of an intermediate variable, e.g. 'y'. Thanks, Martin
participants (1)
-
Martin Hofmann