separated 0.2.2 → 0.2.3
raw patch · 4 files changed
+67/−29 lines, 4 files
Files
- changelog +0/−21
- changelog.md +25/−0
- separated.cabal +5/−4
- src/Data/Separated.hs +37/−4
− changelog
@@ -1,21 +0,0 @@-0.2.0--* Refactoring with lots of changes to data types.-* Introduce nix for building.--0.1.2--* Add instance of `Wrapped` and `Swapped`.--0.1.1--* Introduce `separatedBy` and `separatedBy1` combinators.--0.1.0--* Refactor and reorganisation of modules.--0.0.8--* This change log starts.-
+ changelog.md view
@@ -0,0 +1,25 @@+0.2.3++* Add `Foldable` and `Traversable` instances for `Separated`, `Separated1`, `Pesarated` and `Pesarated1`.++0.2.0++* Refactoring with lots of changes to data types.+* Introduce nix for building.++0.1.2++* Add instance of `Wrapped` and `Swapped`.++0.1.1++* Introduce `separatedBy` and `separatedBy1` combinators.++0.1.0++* Refactor and reorganisation of modules.++0.0.8++* This change log starts.+
separated.cabal view
@@ -1,9 +1,9 @@ name: separated-version: 0.2.2+version: 0.2.3 license: BSD3 license-File: LICENCE-author: Tony Morris <oᴉ˙ldɟb@llǝʞsɐɥ>-maintainer: Queensland Functional Programming Lab (QFPL)+author: Queensland Functional Programming Lab <oᴉ˙ldɟb@llǝʞsɐɥ>+maintainer: Queensland Functional Programming Lab <oᴉ˙ldɟb@llǝʞsɐɥ> copyright: Copyright (c) 2017, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230. synopsis: A data type with elements separated by values category: Data@@ -15,7 +15,8 @@ bug-reports: https://github.com/qfpl/separated/issues cabal-version: >= 1.10 build-type: Custom-extra-source-files: changelog+EXtra-source-files: changelog.md+tested-with: GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.1 source-repository head type: git
src/Data/Separated.hs view
@@ -43,7 +43,7 @@ import Data.Bifunctor(Bifunctor(bimap), first) import Data.Bitraversable(Bitraversable(bitraverse)) import Data.Eq(Eq)-import Data.Foldable(foldr)+import Data.Foldable(Foldable, foldr) import Data.Functor(Functor(fmap), (<$>)) import Data.Functor.Apply as Apply(Apply((<.>))) import Data.List(intercalate, zipWith, repeat)@@ -51,9 +51,9 @@ import Data.Ord(Ord) import Data.Semigroup as Semigroup(Semigroup((<>))) import Data.String(String)-import Data.Traversable(traverse)-import Data.Tuple(uncurry)-import Prelude(Show(show))+import Data.Traversable(Traversable, traverse)+import Data.Tuple(fst, snd, uncurry)+import Prelude(Show(show), const, flip) -- $setup -- >>> :set -XNoImplicitPrelude@@ -531,6 +531,14 @@ fmap = bimap id +instance Foldable (Separated a) where+ foldr f z (Separated xs) =+ foldr f z (fmap snd xs)++instance Traversable (Separated a) where+ traverse f (Separated xs) =+ Separated <$> traverse (traverse f) xs+ -- | Applies functions with element values, using a zipping operation, appending -- separators. --@@ -613,6 +621,14 @@ fmap = bimap id +instance Foldable (Separated1 b) where+ foldr =+ bifoldr (flip const)++instance Traversable (Separated1 b) where+ traverse =+ bitraverse pure+ -- | Applies functions with separator values, using a zipping operation, -- appending elements. --@@ -676,6 +692,15 @@ fmap f (Pesarated x) = Pesarated (first f x) +instance Foldable (Pesarated b) where+ foldr =+ bifoldr (flip const)++instance Traversable (Pesarated b) where+ traverse =+ bitraverse pure++ -- | Applies functions with element values, using a zipping operation, appending -- separators. --@@ -755,6 +780,14 @@ instance Functor (Pesarated1 a) where fmap f (Pesarated1 x) = Pesarated1 (first f x)++instance Foldable (Pesarated1 a) where+ foldr =+ bifoldr (flip const)++instance Traversable (Pesarated1 a) where+ traverse =+ bitraverse pure -- | Applies functions with separator values, using a zipping operation, -- appending elements.