Fin 0.2.5.1 → 0.2.6.0
raw patch · 3 files changed
+11/−3 lines, 3 filesdep +universe-basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: universe-base
API changes (from Hackage documentation)
- Data.Fin.List: infixr 5 :.
+ Data.Fin.Permutation: instance Data.Natural.Class.Natural n => Data.Universe.Class.Finite (Data.Fin.Permutation.Permutation n)
+ Data.Fin.Permutation: instance Data.Natural.Class.Natural n => Data.Universe.Class.Universe (Data.Fin.Permutation.Permutation n)
Files
- Data/Fin/Permutation.hs +8/−1
- Data/Fin/Private.hs +1/−1
- Fin.cabal +2/−1
Data/Fin/Permutation.hs view
@@ -2,16 +2,18 @@ module Data.Fin.Permutation (Permutation, apply, unapply, swap, orbit, cycles) where -import Prelude (Functor (..), Eq (..), Show (..), Bool (..), ($), (<$>), otherwise, snd, flip, curry, uncurry)+import Prelude (Functor (..), Applicative (..), Eq (..), Show (..), Bool (..), ($), (<$>), otherwise, snd, flip, curry, uncurry) import Algebra import Control.Category (Category (..)) import Data.Fin import Data.Fin.List hiding (swap) import qualified Data.Fin.List as L import Data.Foldable (elem, minimum, toList)+import Data.Functor.Compose (Compose (..)) import Data.List.NonEmpty (NonEmpty (..)) import Data.Natural.Class (Natural (..)) import qualified Data.Peano as P+import Data.Universe.Class data Permutation n where PZ :: Permutation P.Zero@@ -19,6 +21,11 @@ deriving instance Eq (Permutation n) deriving instance Show (Permutation n)++instance Natural n => Universe (Permutation n) where+ universe = getCompose $ natural (Compose [PZ]) (Compose $ PS <$> toList enum <*> universe)++instance Natural n => Finite (Permutation n) apply :: Permutation n -> List n a -> List n a apply PZ Nil = Nil
Data/Fin/Private.hs view
@@ -17,7 +17,7 @@ import qualified Data.List as L import Data.List.NonEmpty (NonEmpty (..)) import Data.Maybe-import Data.Monoid (Monoid (..))+import Data.Monoid hiding ((<>)) import Data.Natural.Class import Data.Ord import Data.Peano (Peano)
Fin.cabal view
@@ -1,5 +1,5 @@ name: Fin-version: 0.2.5.1+version: 0.2.6.0 synopsis: Finite totally-ordered sets -- description: license: BSD3@@ -22,6 +22,7 @@ , base >=4.7 && <5 , foldable1 >=0.1 && <0.2 , natural-induction >=0.2 && <0.3+ , universe-base >=1.0 && <1.1 default-language: Haskell2010 default-extensions: UnicodeSyntax , LambdaCase