Fin 0.2.7.0 → 0.2.8.0
raw patch · 4 files changed
+13/−6 lines, 4 filessetup-changedPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Data.Fin: pred :: Fin (Succ n) -> Maybe (Fin n)
- Data.Fin: data Fin :: Peano -> *
+ Data.Fin: data Fin :: Peano -> Type
Files
- Data/Fin.hs +9/−1
- Data/Fin/Private.hs +3/−2
- Fin.cabal +1/−1
- Setup.hs +0/−2
Data/Fin.hs view
@@ -1,3 +1,11 @@-module Data.Fin (Fin (..), enum, inj₁, proj₁, lift₁, fromFin, toFin, toFinMay) where+module Data.Fin (Fin (..), enum, inj₁, proj₁, lift₁, fromFin, toFin, toFinMay, pred) where +import Prelude ()+import Data.Maybe (Maybe (..)) import Data.Fin.Private+import qualified Data.Peano as P++pred :: Fin (P.Succ n) -> Maybe (Fin n)+pred = \ case+ Zero -> Nothing+ Succ n -> Just n
Data/Fin/Private.hs view
@@ -14,6 +14,7 @@ import Data.Function (on) import Data.Functor.Classes import Data.Functor.Compose+import Data.Kind (Type) import qualified Data.List as L import Data.List.NonEmpty (NonEmpty (..)) import Data.Maybe@@ -28,7 +29,7 @@ import qualified Numeric.Natural as N import Text.Read (Read (..)) -data Fin :: Peano -> * where+data Fin :: Peano -> Type where Zero :: Fin (P.Succ n) Succ :: Fin n -> Fin (P.Succ n) @@ -139,7 +140,7 @@ Nil <> Nil = Nil (x:.xs) <> (y:.ys) = x<>y:.xs<>ys -instance (Natural n, Semigroup a, Monoid a) => Monoid (List n a) where+instance (Natural n, Monoid a) => Monoid (List n a) where mempty = unFlip $ natural (Flip Nil) (Flip $ mempty:.mempty) mappend = (<>)
Fin.cabal view
@@ -1,5 +1,5 @@ name: Fin-version: 0.2.7.0+version: 0.2.8.0 synopsis: Finite totally-ordered sets -- description: license: BSD3
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain