i am trying to figure out how typeable works, so i have this data type

data Foo = FooC Int
         deriving (Data, Typeable, Show)

So how come this works:

> funResultTy (typeOf ((+) 1)) (typeOf 1)
Just Integer

but this doesnt:

> funResultTy (typeOf FooC) (typeOf 1)
Nothing

FooC is of type t -> u and 1 is of type t so the result should be u?
I don't think t and u need to be the same since

> funResultTy (typeOf (\a -> a:[1])) (typeOf 1)
Just [Integer]

works fine.  So given a constructor, how come i cant seem to construct
a type out of it?
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to