ref: 1929d9a39b6ac8a8f7a275bca6a755e558e74ca4
dir: /tests/Typeable.hs/
module Typeable(main) where
import Prelude
import Data.Proxy
import Data.Typeable
data T = A
deriving Typeable
data P a = B a
deriving (Typeable)
main :: IO ()
main = do
print $ typeOf True
print $ typeOf (return True :: IO Bool)
print $ typeOf ('a', False)
print $ typeRep (Proxy :: Proxy Monad)
print $ typeOf A
print $ typeOf (B (B A))
print $ typeOf [1::Int]
print $ typeOf ((+) :: Int -> Int -> Int)