[Haskell-cafe] A question about functional dependencies
misc at alpheccar.org
Sun Dec 23 13:00:08 EST 2007
I have defined a function on types thanks to functional dependencies.
I use it like that:
myFunction :: (TypeFunction MyComplexType f) => f -> f
f is unique for MyComplexType. Is there a way to name f ?
I would like to write:
myFunction :: SimplifiedType -> SimplifiedType
TypeFunction MyComplexType SimplifiedType is an instance of the class
Of course, I don't want to write explicitly SimplifiedType otherwise
I could just do
type SimplifiedType = ...
The idea is that I build a MyComplexType using type synonyms and type
constructors. But, the result has a shape which is too complex. I
simplify it into a canonical form that I can use in some algorithms
at the type level.
I suspect I will have to use the type constraint and that there is no
way to name the result of a computation at the type level ?
More information about the Haskell-Cafe