btree-concurrent-0.1.5: A backend agnostic, concurrent BTree

Safe HaskellNone

Data.BTree.Types

Documentation

newtype Ref a Source

Constructors

Ref Word64 

Instances

Eq (Ref a) 
Num (Ref a) 
Eq (Ref a) => Ord (Ref a) 
Show (Ref a) 
Serialize (Ref a) 
Hashable (Ref a) 

data Node k v Source

Constructors

Leaf (Map k v) 
Branch [k] [Ref (Node k v)] 

Instances

(Eq k, Eq v) => Eq (Node k v) 
(Ord k, Serialize k, Serialize v) => Serialize (Node k v) 

data Param st k v Source

Constructors

Param 

Fields

order :: Int
 
root :: TVar (Ref (Node k v))
 
state :: st
 
marked :: TChan k
 
unused :: TVar [Ref (Node k v)]
 

Instances

(Monad (BTreeM m st k v), Monad m) => MonadReader (Param st k v) (BTreeM m st k v) 

newtype BTreeM m st k v a Source

Constructors

BTreeM 

Fields

runBTreeM :: ReaderT (Param st k v) m a
 

Instances

(Monad (BTreeM m st k v), Monad m) => MonadReader (Param st k v) (BTreeM m st k v) 
Monad m => Monad (BTreeM m st k v) 
Functor m => Functor (BTreeM m st k v) 
(Monad (BTreeM m st k v), MonadIO m) => MonadIO (BTreeM m st k v)