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

  <interactive>:1:0:
    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.)

  -- Lennart
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to