src/Store.bend fails
raw source on the hub · import ber-core-store@0.1.1.0/src/Store.bend as Store
3 imports
import Base import mylsm-lsm-store@0.3.1.0/mylsm.bend as MyLsmStore import mylsm-lsm-store@0.3.1.0/src/Db.bend as DbTypes
Types
type Op source · line 12 · raw
@-a:Quant -> @-A:Kind(a) -> Kind(a <&> &1)
One session step chain; the answer type rides along.
Op@-a:Quant -> @-A:Kind(a) -> @run:0x0ae7ac793853e753f5f74c16e06ee078/mylsm.Sess<a, A> -> Op<a, A>
type Handle source · line 16 · raw
Type
An opened store handle; affine, threaded through run_op.
Handle@db:0x0ae7ac793853e753f5f74c16e06ee078/src/Db.Db -> Handle
Definitions
def Op.inner source · line 20 · raw
@-b:Quant -> @-B:Kind(b) -> @op:Op<b, B> -> 0x0ae7ac793853e753f5f74c16e06ee078/mylsm.Sess<b, B>
Unwraps the inner session for translators like bind and run_op.
def Op.pure source · line 26 · raw
@-a:Quant -> @-A:Kind(a) -> @val:A -> Op<a, A>
Lifts a pure value; what return desugars to inside do-blocks.
def Op.bind source · line 30 · raw
@-a:Quant -> @-A:Kind(a) -> @-B:Kind(a) -> @op:Op<a, A> -> @fun:(@_:A -> Op<a, B>) -> Op<a, B>
Sequences two ops; what <- desugars to inside do-blocks.
def oput source · line 34 · raw
@+key:String -> @+val:String -> Op<&2, Unit>
Writes one key.
def oget source · line 38 · raw
@+key:String -> Op<&2, Maybe<&2, String>>
Reads one key; missing reads as None.
def odel source · line 42 · raw
@+key:String -> Op<&2, Unit>
Deletes one key.
def open_store source · line 46 · raw
@+dir:String -> Handle
Opens a store handle over a directory label.
def rewrap_pair source · line 50 · raw
@-a:Quant -> @-A:Kind(a) -> @computed_pair:Pair(0x0ae7ac793853e753f5f74c16e06ee078/src/Db.Db, A) -> Pair(Handle, A)
Rewraps a computed runner pair into Handle form.
def run_op source · line 56 · raw
@-a:Quant -> @-A:Kind(a) -> @store:Handle -> @op:Op<a, A> -> Pair(Handle, A)
Executes a whole op chain against a handle.