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
where
TypeFunction MyComplexType SimplifiedType is an instance of the class
TypeFunction.
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 ?
Thanks,
Christophe.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe