packages feed

MicroHs-0.9.5.0: tests/Quant.hs

module Quant(main) where
import Prelude

{-
data Rose (f :: Type -> Type) a = Branch a (f (Rose f a))

instance forall a (f :: Type -> Type) .
         (Eq a, forall b. (Eq b) => Eq (f b)) => Eq (Rose f a) where
    (Branch x1 c1) == (Branch x2 c2)  =  x1==x2 && c1==c2

t1 :: Rose [] Int
t1 = Branch 1 [Branch 2 [], Branch 3 []]

main :: IO ()
main = do
  print $ t1 == t1
-}

data T (f :: Type -> Type) a = C (f a)

eq :: forall a (f :: Type -> Type) .
      (Eq a, forall b. (Eq b) => Eq (f b)) => T f a -> T f a -> Bool
eq (C xxx) (C yyy) = xxx == yyy