packages feed

total-map 0.0.2 → 0.0.3

raw patch · 2 files changed

+23/−3 lines, 2 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

+ Data.TotalMap: instance (Ord k, Monoid v) => Monoid (TMap k v)

Files

src/Data/TotalMap.hs view
@@ -16,15 +16,16 @@ module Data.TotalMap (TMap,(!),tabulate,trim) where  import Data.Monoid (Monoid(..))-import Control.Applicative (Applicative(..),(<$>))+import Control.Applicative (Applicative(..),liftA2,(<$>)) import Data.Maybe (fromMaybe)  import Data.Map (Map) import qualified Data.Map as M- import Data.Set (Set) import qualified Data.Set as S +-- import Control.Comonad  -- TODO+ -- | Total map data TMap k v = TMap v (Map k v) deriving Functor @@ -50,6 +51,17 @@ tabulate' = (fmap.fmap.fmap) trim tabulate -} +{--------------------------------------------------------------------+    Instances+--------------------------------------------------------------------}++-- These instances follow the principle that semantic functions (here (!))+-- must be type class morphism (TCM) for all inhabited type classes.++instance (Ord k, Monoid v) => Monoid (TMap k v) where+  mempty  = pure mempty+  mappend = liftA2 mappend+ instance Ord k => Applicative (TMap k) where   pure v = TMap v mempty   fs@(TMap df mf) <*> xs@(TMap dx mx) = @@ -100,6 +112,13 @@ spec:  -}++{--------------------------------------------------------------------+    Comonad+--------------------------------------------------------------------}++-- TODO: Based on the function-of-monoid comonad.+-- TODO: Also a version with a pointer.  {--------------------------------------------------------------------     Misc
total-map.cabal view
@@ -1,5 +1,5 @@ Name:                total-map-Version:             0.0.2+Version:             0.0.3 Cabal-Version:       >= 1.6 Synopsis:            Finitely represented /total/ maps Category:            @@ -22,5 +22,6 @@   hs-Source-Dirs:      src   Extensions:   Build-Depends:       base<5, containers+                       -- , comonad   Exposed-Modules:                             Data.TotalMap