packages feed

MicroHs-0.13.0.0: tests/TypeSyn.hs

module TypeSyn where

type Foo a = a -> a -> Bool

foo :: Foo (forall b. b->b)
foo f g = f 'a' == g 'a' && f () == g ()

type Generic i o = forall x. i x -> o x
type Id x = x

bar :: Generic Id []
bar x = [x]

type S a = Int
instance Functor S

main :: IO ()
main = do
  print (foo id id)