Add a type-family for comparing numbers.
authorIavor S. Diatchki <iavor.diatchki@gmail.com>
Tue, 1 May 2012 06:08:54 +0000 (23:08 -0700)
committerIavor S. Diatchki <iavor.diatchki@gmail.com>
Tue, 1 May 2012 06:08:54 +0000 (23:08 -0700)
For the moment, this replaces the class (<=) because it is
easier to fit with GHC's coercion evidence.

GHC/TypeLits.hs

index 984fd39..8b4e13b 100644 (file)
@@ -23,7 +23,7 @@ module GHC.TypeLits
   , withSing, singThat
 
     -- * Functions on type nats
-  , type (<=), type (+), type (*), type (^)
+  , type (<=), type (<=?), type (+), type (*), type (^)
 
     -- * Destructing type-nats.
   , isZero, IsZero(..)
@@ -76,6 +76,8 @@ class SingI a where
 -- | Comparsion of type-level naturals.
 class (m :: Nat) <= (n :: Nat)
 
+type family (m :: Nat) <=? (n :: Nat) :: Bool
+
 -- | Addition of type-level naturals.
 type family (m :: Nat) + (n :: Nat) :: Nat