[Add test case file for various type system trickiness
John Meacham <john@repetae.net>**20051205044637] addfile ./test/Forall.hs
hunk ./test/Forall.hs 1
+-- Test program for various uses of higher order polymorphism
+
+-- useful bits
+newtype Id x = Id x
+    deriving(Show)
+
+-- interesting haskell 98 types
+newtype Rec f = In (f (Rec f))
+newtype StateM m s a = STM (a -> m (a,s))
+newtype Bot = Bot Bot
+    deriving(Show)
+
+-- other stuff
+
+-- TODO this causes segfault when shown
+data Empty
+
+
+-- forall in type synonym
+type IdentityFunc = forall a . a -> a
+
+-- explicit forall
+id1 :: forall a . a -> a
+id1 x = x
+
+id2 :: a -> IdentityFunc
+id2 _ x = x
+
+
+main = do
+    putStrLn "Done."