subG 0.1.0.0 → 0.1.1.0
raw patch · 3 files changed
+16/−8 lines, 3 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Data.SubG: (%@) :: InsertLeft t a => a -> t a -> t a
+ Data.SubG: (%^) :: InsertLeft t a => t a -> t (t a) -> t (t a)
+ Data.SubG: class (Foldable t, Eq a, Eq (t a)) => InsertLeft t a
+ Data.SubG: infixr 1 %^
Files
- CHANGELOG.md +5/−0
- Data/SubG.hs +8/−5
- subG.cabal +3/−3
CHANGELOG.md view
@@ -3,3 +3,8 @@ ## 0.1.0.0 -- 2020-10-16 * First version. Released on an unsuspecting world.++## 0.1.1.0 -- 2020-10-16++* First version revised A. Discontinued the support for the GHC-7.8.* series. +
Data/SubG.hs view
@@ -5,12 +5,14 @@ -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com ----- +-- Some extension to the 'F.Foldable' and 'Monoid' classes. Introduces a new class 'InsertLeft' -- the type of values that can be inserted from the left+-- to the 'F.Foldable' structure that is simultaneously the 'Monoid' instance. {-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-} module Data.SubG (- subG+ InsertLeft(..)+ , subG , dropWhile , takeWhile , span@@ -23,7 +25,8 @@ infixr 1 %@, %^ -class (Foldable t, Eq a, Eq (t a)) => InsertLeft t a where+-- | Some extension to the 'F.Foldable' and 'Monoid' classes. +class (F.Foldable t, Eq a, Eq (t a)) => InsertLeft t a where (%@) :: a -> t a -> t a -- infixr 1 (%^) :: t a -> t (t a) -> t (t a) @@ -31,9 +34,9 @@ (%@) = (:) (%^) = (:) --- | Inspired by: 'https://hackage.haskell.org/package/base-4.14.0.0/docs/src/Data.OldList.html#words'+-- | Inspired by: https://hackage.haskell.org/package/base-4.14.0.0/docs/src/Data.OldList.html#words -- and Graham Hutton. A tutorial on the universality and expressiveness of fold. J. Functional Programming 9 (4): 355–372, July 1999.--- that is available at the URL: 'https://www.cs.nott.ac.uk/~pszgmh/fold.pdf'.+-- that is available at the URL: https://www.cs.nott.ac.uk/~pszgmh/fold.pdf. subG :: (InsertLeft t a, Monoid (t a), Monoid (t (t a))) => t a -> t a -> t (t a) subG whspss xs = if F.null ts then mempty else w %^ subG whspss s'' where ts = dropWhile (`F.elem` whspss) xs
subG.cabal view
@@ -2,9 +2,9 @@ -- see http://haskell.org/cabal/users-guide/ name: subG-version: 0.1.0.0+version: 0.1.1.0 synopsis: Some extension to the Foldable and Monoid classes.-description: Some extension to the Foldable and Monoid classes. Introduces a new class InsertLeft of the types that can be inserted with values from the left.+description: Some extension to the Foldable and Monoid classes. Introduces a new class InsertLeft -- the type of values that can be inserted from the left to the Foldable structure that is also a Monoid. homepage: https://hackage.haskell.org/package/subG license: MIT license-file: LICENSE@@ -20,6 +20,6 @@ exposed-modules: Data.SubG -- other-modules: other-extensions: MultiParamTypeClasses, FlexibleInstances- build-depends: base >=4.7 && <4.15+ build-depends: base >=4.8 && <4.15 -- hs-source-dirs: default-language: Haskell2010