fork download
  1. {-# LANGUAGE TypeFamilies #-}
  2. {-# LANGUAGE DataKinds #-}
  3. {-# LANGUAGE PolyKinds #-}
  4.  
  5. data Nat = Z | S Nat
  6.  
  7. data family AlsoANat :: nat
  8.  
  9. type family IdNat (n :: Nat) :: Nat where
  10. IdNat 'Z = 'Z
  11. IdNat ('S n) = 'S n
  12. IdNat AlsoANat = AlsoANat
  13.  
  14. main = print ()
Success #stdin #stdout 0s 4944KB
stdin
Standard input is empty
stdout
()