Hi Philip,

On 28 August 2011 23:44, Philip Holzenspies <p...@st-andrews.ac.uk> wrote:
>
> import Data.Typeable
>
> data MyADT m = MyADT (m ())
>
> instance (Typeable1 m, Monad m) => Typeable (MyADT m) where
>        typeOf t@(MyADT _)
>         = mkTyCon "MyADT"
>          `mkTyConApp`
>          [typeOf1 ((return :: Monad m => MyADT m -> m (MyADT m)) t)]
>

IIRC, typeOf is supposed to work with undefined as the argument.

Try: typeOf (undefined :: Int)

See:
http://hackage.haskell.org/packages/archive/base/latest/doc/html/Data-Typeable.html#v:typeOf

I think the undefined is merely because the pattern matching you use in the
instance declaration fails.

Hope this helps,
Ozgur
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to