shithub: MicroHs

ref: 9fcea2a5581d045efd60b6b6bd2b64ad6e4e9bd2
dir: /tests/Deriving.hs/

View raw version
module Deriving(main) where
import Prelude

data T a b c = A a | B b | C a Int | D
  deriving (Eq, Ord)

main :: IO ()
main = do
  print $ A 'a' == (A 'a' :: T Char () ())
  print $ A 'a' == (A 'b' :: T Char () ())
  print $ A 'a' == B False
  print $ C 'a' 1 == (C 'a' 1 :: T Char () ())
  print $ C 'a' 1 == (C 'a' 2 :: T Char () ())
  print $ D == (D :: T () () ())

  print $ A 'a' <= (A 'a' :: T Char () ())
  print $ A 'a' <= (A 'b' :: T Char () ())
  print $ A 'b' <= (A 'a' :: T Char () ())
  print $ A 'a' <= B False
  print $ C 'a' 1 <= B False