pointed 3.0.3 → 3.1
raw patch · 3 files changed
+19/−6 lines, 3 filesdep +taggeddep ~comonad-transformersdep ~semigroupoidsdep ~semigroups
Dependencies added: tagged
Dependency ranges changed: comonad-transformers, semigroupoids, semigroups
Files
- pointed.cabal +7/−6
- src/Data/Copointed.hs +4/−0
- src/Data/Pointed.hs +8/−0
pointed.cabal view
@@ -1,6 +1,6 @@ name: pointed category: Data-version: 3.0.3+version: 3.1 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -24,12 +24,13 @@ base >= 4 && < 5, transformers >= 0.2 && < 0.4, containers >= 0.4 && < 0.6,- comonad >= 3,- comonad-transformers >= 3,+ comonad >= 3 && < 4,+ comonad-transformers >= 3 && < 4, data-default >= 0.4 && < 0.6,- semigroups >= 0.8.3.1,- semigroupoids >= 3,- stm >= 2.1.2.1 && < 2.5+ semigroups >= 0.8.3.1 && < 1,+ semigroupoids >= 3 && < 4,+ stm >= 2.1.2.1 && < 2.5,+ tagged >= 0.5 && < 1 exposed-modules: Data.Pointed
src/Data/Copointed.hs view
@@ -17,12 +17,16 @@ import Control.Comonad.Trans.Store import Control.Comonad.Trans.Traced import Data.List.NonEmpty (NonEmpty(..))+import Data.Tagged -- | 'Copointed' does not require a 'Functor', as the only relationship -- between 'copoint' and 'fmap' is given by a free theorem. class Copointed p where copoint :: p a -> a++instance Copointed (Tagged a) where+ copoint = unTagged instance Copointed Identity where copoint = runIdentity
src/Data/Pointed.hs view
@@ -33,9 +33,17 @@ import qualified Control.Monad.Trans.State.Lazy as Lazy import qualified Control.Monad.Trans.State.Strict as Strict import Data.Semigroupoid.Static+import Data.Tagged+import Data.Proxy class Pointed p where point :: a -> p a++instance Pointed Proxy where+ point _ = Proxy++instance Pointed (Tagged a) where+ point = Tagged instance Pointed [] where point a = [a]