[Haskell-cafe] typeOf for polymorphic value
lennart at augustsson.net
Wed Mar 25 19:33:43 EDT 2009
Using Data.Typeable.typeOf we can get a representation of the the type
of a monomorphic value, for instance
Prelude Data.Typeable> typeOf not
Bool -> Bool
But if we try using it on a polymorphic value it fails
Prelude Data.Typeable> typeOf id
Ambiguous type variable `a' in the constraint:
`Typeable a' arising from a use of `typeOf' at <interactive>:1:0-8
Probable fix: add a type signature that fixes these type variable(s)
And understandably so. Does anyone know of a trick to accomplish `typeOf id'?
Using something else than TypeRep as the representation, of course.
Any tricks and existing language extensions are welcome.
(As ghc moves towards first class polymorphic values this question
gets more interesting.)
More information about the Haskell-Cafe