TypeNat 0.2.0.0 → 0.2.1.0
raw patch · 2 files changed
+5/−11 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- Data/TypeNat/Nat.hs +4/−10
- TypeNat.cabal +1/−1
Data/TypeNat/Nat.hs view
@@ -4,7 +4,6 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE InstanceSigs #-} {-# LANGUAGE ScopedTypeVariables #-} -- TBD can we get around incoherent instances!?! {-# LANGUAGE IncoherentInstances #-}@@ -68,14 +67,9 @@ instance LTE n m => LTE n (S m) where - lteInduction- :: forall (d :: Nat -> *) .- (forall (k :: Nat) . LTE (S k) (S m) => d k -> d (S k))- -> d n- -> d (S m)- lteInduction f x =- let sub :: d m- sub = lteInduction f x- in f sub+ -- Use the LTE n m instance to get lteInduction f x :: d m+ -- With this in hand, we can apply f again because+ -- LTE (S m) (S m) is true so that f :: d m -> d (S m) and we're there!+ lteInduction f x = f (lteInduction f x) lteRecursion f x = lteRecursion f (f x)
TypeNat.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: TypeNat-version: 0.2.0.0+version: 0.2.1.0 synopsis: Some Nat-indexed types for GHC -- description: homepage: https://github.com/avieth/TypeNat