discrete-space-map 0.0.1 → 0.0.2
raw patch · 2 files changed
+15/−14 lines, 2 filesdep +adjunctionsdep −comonads-fddep −representable-functorsdep ~basedep ~comonaddep ~distributive
Dependencies added: adjunctions
Dependencies removed: comonads-fd, representable-functors
Dependency ranges changed: base, comonad, distributive, keys, semigroupoids
Files
- Data/DiscreteSpaceMap.hs +6/−4
- discrete-space-map.cabal +9/−10
Data/DiscreteSpaceMap.hs view
@@ -3,12 +3,12 @@ import Control.Comonad import Control.Comonad.Store.Class+import Data.Distributive import Data.Key import Data.Functor.Bind-import Data.Functor.Representable+import Data.Functor.Rep import Data.Foldable import Data.Traversable-import Data.Distributive import Data.Semigroup.Foldable import Data.Semigroup.Traversable @@ -59,18 +59,20 @@ seek tp (Map sp a c) = let (a', c') = gotoD sp tp (a, c) in Map tp a' c' seeks f w = seek (f (pos w)) w --- | @ `index` :: Pos p => Map p a -> p -> a@ instance Pos p => Indexable (Map p) where index = flip peek instance Pos p => Lookup (Map p) where lookup = lookupDefault instance Pos p => Adjustable (Map p) where adjust f p z = seek (pos z) . modify f . seek p $ z--- | @ `tabulate` :: Pos p => (p -> a) -> Map p a@ instance Pos p => Distributive (Map p) where distribute = distributeRep+-- | @ `index` :: Pos p => Map p a -> p -> a@+-- | @ `tabulate` :: Pos p => (p -> a) -> Map p a@ instance Pos p => Representable (Map p) where+ type Rep (Map p) = p tabulate f = Map zero (f zero) (tabulateD f)+ index = flip peek -- | @ `fmap` :: (a -> b) -> Map p a -> Map p b@ instance Functor (Map p) where
discrete-space-map.cabal view
@@ -1,5 +1,5 @@ name: discrete-space-map-version: 0.0.1+version: 0.0.2 synopsis: A discrete space map. description: A discrete space map implemented as a zipper on an infinite perfect binary tree. homepage: https://github.com/sjoerdvisscher/discrete-space-map@@ -12,12 +12,11 @@ cabal-version: >=1.8 library- exposed-modules: Data.DiscreteSpaceMap- other-modules: Data.DiscreteSpaceMap.Internal- build-depends: base ==4.6.*,- comonad ==3.0.*,- comonads-fd >=3.0.1 && <3.1,- keys ==3.0.*,- semigroupoids ==3.0.*, - distributive ==0.3.*,- representable-functors == 3.1.*+ exposed-modules: Data.DiscreteSpaceMap,+ Data.DiscreteSpaceMap.Internal+ build-depends: base ==4.*,+ comonad ==4.*,+ keys ==3.*,+ distributive >=0.4 && <1,+ semigroupoids ==4.*, + adjunctions ==4.*