Fix the type of IsEven
authorIavor S. Diatchki <iavor.diatchki@gmail.com>
Thu, 22 Mar 2012 03:17:29 +0000 (20:17 -0700)
committerIavor S. Diatchki <iavor.diatchki@gmail.com>
Thu, 22 Mar 2012 03:17:29 +0000 (20:17 -0700)
libraries/base/GHC/TypeLits.hs

index 06c05e2..cbbd015 100644 (file)
@@ -174,8 +174,8 @@ instance Show (IsZero n) where
 
 data IsEven :: Nat -> * where
   IsEvenZero :: IsEven 0
-  IsEven     :: !(TNat (n+1)) -> IsEven (2 * (n + 1))
-  IsOdd      :: !(TNat n)     -> IsEven (2 * n + 1)
+  IsEven     :: !(TNat n) -> IsEven (2 * n + 2)
+  IsOdd      :: !(TNat n) -> IsEven (2 * n + 1)
 
 isEven :: TNat n -> IsEven n
 isEven (TNat n) | n == 0      = unsafeCoerce IsEvenZero