monad-atom 0.1.1 → 0.2.0
raw patch · 2 files changed
+7/−2 lines, 2 files
Files
- Control/Monad/Atom.hs +6/−1
- monad-atom.cabal +1/−1
Control/Monad/Atom.hs view
@@ -11,6 +11,7 @@ , evalAtomT , runAtom , runAtomT+ , atoms ) where import Control.Monad.State@@ -26,7 +27,7 @@ data AtomTable = T { lastID :: {-# UNPACK #-} !Int , to :: Map.Map Blob Int , from :: IntMap.IntMap Blob } - deriving (Eq,Show)+ instance B.Binary AtomTable where@@ -94,6 +95,10 @@ newtype Atom r = Atom (AtomT Identity r) deriving (Functor,Monad,MonadAtom)++-- | The list of atoms (as Ints) stored in the atom table+atoms :: AtomTable -> [Int]+atoms = IntMap.keys . from enc = Strict.concat . Lazy.toChunks . B.encode dec = B.decode . Lazy.fromChunks . return
monad-atom.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version: 0.1.1+Version: 0.2.0 -- A short (one-line) description of the package. Synopsis: Monadically convert objects to unique atoms and back.