diff --git a/algaeff/Algaeff/.dummy b/algaeff/Algaeff/.dummy deleted file mode 100644 index e69de29..0000000 diff --git a/algaeff/Algaeff/Fun/Deep/index.html b/algaeff/Algaeff/Fun/Deep/index.html index 469b4a7..40d9673 100644 --- a/algaeff/Algaeff/Fun/Deep/index.html +++ b/algaeff/Algaeff/Fun/Deep/index.html @@ -1,2 +1,2 @@ -Deep (algaeff.Algaeff.Fun.Deep)

Module Fun.Deep

Useful helper functions for deep handlers.

val finally : ('a, 'b) Stdlib.Effect.Deep.continuation -> (unit -> 'a) -> 'b

finally f runs the thunk f and calls continue if a value is returned and discontinue if an exception is raised. Here is an example that calls List.nth and then either returns the found element with continue or raises the exception Not_found with discontinue.

Algaeff.Fun.Deep.finally k @@ fun () -> List.nth elements n
\ No newline at end of file +Deep (algaeff.Algaeff.Fun.Deep)

Module Fun.Deep

Useful helper functions for deep handlers.

val finally : ('a, 'b) Stdlib.Effect.Deep.continuation -> (unit -> 'a) -> 'b

finally f runs the thunk f and calls continue if a value is returned and discontinue if an exception is raised. Here is an example that calls List.nth and then either returns the found element with continue or raises the exception Not_found with discontinue.

Algaeff.Fun.Deep.finally k @@ fun () -> List.nth elements n
\ No newline at end of file diff --git a/algaeff/Algaeff/Fun/Shallow/index.html b/algaeff/Algaeff/Fun/Shallow/index.html index b411c2d..c2afb2d 100644 --- a/algaeff/Algaeff/Fun/Shallow/index.html +++ b/algaeff/Algaeff/Fun/Shallow/index.html @@ -1,5 +1,5 @@ -Shallow (algaeff.Algaeff.Fun.Shallow)

Module Fun.Shallow

Useful helper functions for shallow handlers.

val finally_with : +Shallow (algaeff.Algaeff.Fun.Shallow)

Module Fun.Shallow

Useful helper functions for shallow handlers.

val finally_with : ('a, 'b) Stdlib.Effect.Shallow.continuation -> (unit -> 'a) -> ('b, 'c) Stdlib.Effect.Shallow.handler -> diff --git a/algaeff/Algaeff/Fun/index.html b/algaeff/Algaeff/Fun/index.html index 678874d..a54fa1c 100644 --- a/algaeff/Algaeff/Fun/index.html +++ b/algaeff/Algaeff/Fun/index.html @@ -1,2 +1,2 @@ -Fun (algaeff.Algaeff.Fun)

Module Algaeff.Fun

Useful helper functions around effects.

module Deep : sig ... end

Useful helper functions for deep handlers.

module Shallow : sig ... end

Useful helper functions for shallow handlers.

\ No newline at end of file +Fun (algaeff.Algaeff.Fun)

Module Algaeff.Fun

Useful helper functions around effects.

module Deep : sig ... end

Useful helper functions for deep handlers.

module Shallow : sig ... end

Useful helper functions for shallow handlers.

\ No newline at end of file diff --git a/algaeff/Algaeff/Mutex/Make/index.html b/algaeff/Algaeff/Mutex/Make/index.html index 8db9d2a..deb2031 100644 --- a/algaeff/Algaeff/Mutex/Make/index.html +++ b/algaeff/Algaeff/Mutex/Make/index.html @@ -1,2 +1,2 @@ -Make (algaeff.Algaeff.Mutex.Make)

Module Mutex.Make

The implementation of mutex effects. Make is generative so that one can use multiple mutexes at the same time.

The signature of mutex effects.

Parameters

Signature

exception Locked

The exception raised by exclusively if the mutex was locked.

val exclusively : (unit -> 'a) -> 'a

exclusively f locks the mutex, run the thunk f, and then unlock the mutex. If the mutex was already locked, exclusively f immediately raises Locked without waiting. Note that calling exclusively inside f is an instance of attempting to lock an already locked mutex.

  • raises Locked

    The mutex was already locked.

val run : (unit -> 'a) -> 'a

run f executes the thunk f which may perform mutex effects. Each call of run creates a fresh mutex; in particular, calling run inside the thunk f will start a new scope that does not interfere with the outer scope.

\ No newline at end of file +Make (algaeff.Algaeff.Mutex.Make)

Module Mutex.Make

The implementation of mutex effects. Make is generative so that one can use multiple mutexes at the same time.

The signature of mutex effects.

Parameters

Signature

exception Locked

The exception raised by exclusively if the mutex was locked.

val exclusively : (unit -> 'a) -> 'a

exclusively f locks the mutex, run the thunk f, and then unlock the mutex. If the mutex was already locked, exclusively f immediately raises Locked without waiting. Note that calling exclusively inside f is an instance of attempting to lock an already locked mutex.

  • raises Locked

    The mutex was already locked.

val run : (unit -> 'a) -> 'a

run f executes the thunk f which may perform mutex effects. Each call of run creates a fresh mutex; in particular, calling run inside the thunk f will start a new scope that does not interfere with the outer scope.

\ No newline at end of file diff --git a/algaeff/Algaeff/Mutex/index.html b/algaeff/Algaeff/Mutex/index.html index a70618a..ec683ab 100644 --- a/algaeff/Algaeff/Mutex/index.html +++ b/algaeff/Algaeff/Mutex/index.html @@ -1,5 +1,5 @@ -Mutex (algaeff.Algaeff.Mutex)

Module Algaeff.Mutex

Effects for making concurrent execution immediately fail.

module M = Algaeff.Mutex.Make ()
+Mutex (algaeff.Algaeff.Mutex)

Module Algaeff.Mutex

Effects for making concurrent execution immediately fail.

module M = Algaeff.Mutex.Make ()
 
 let () = M.run @@ fun () ->
   let ten = M.exclusively @@ fun () -> 10 in
diff --git a/algaeff/Algaeff/Mutex/module-type-S/index.html b/algaeff/Algaeff/Mutex/module-type-S/index.html
index b179b85..13f96a2 100644
--- a/algaeff/Algaeff/Mutex/module-type-S/index.html
+++ b/algaeff/Algaeff/Mutex/module-type-S/index.html
@@ -1,2 +1,2 @@
 
-S (algaeff.Algaeff.Mutex.S)

Module type Mutex.S

The signature of mutex effects.

exception Locked

The exception raised by exclusively if the mutex was locked.

val exclusively : (unit -> 'a) -> 'a

exclusively f locks the mutex, run the thunk f, and then unlock the mutex. If the mutex was already locked, exclusively f immediately raises Locked without waiting. Note that calling exclusively inside f is an instance of attempting to lock an already locked mutex.

  • raises Locked

    The mutex was already locked.

val run : (unit -> 'a) -> 'a

run f executes the thunk f which may perform mutex effects. Each call of run creates a fresh mutex; in particular, calling run inside the thunk f will start a new scope that does not interfere with the outer scope.

\ No newline at end of file +S (algaeff.Algaeff.Mutex.S)

Module type Mutex.S

The signature of mutex effects.

exception Locked

The exception raised by exclusively if the mutex was locked.

val exclusively : (unit -> 'a) -> 'a

exclusively f locks the mutex, run the thunk f, and then unlock the mutex. If the mutex was already locked, exclusively f immediately raises Locked without waiting. Note that calling exclusively inside f is an instance of attempting to lock an already locked mutex.

  • raises Locked

    The mutex was already locked.

val run : (unit -> 'a) -> 'a

run f executes the thunk f which may perform mutex effects. Each call of run creates a fresh mutex; in particular, calling run inside the thunk f will start a new scope that does not interfere with the outer scope.

\ No newline at end of file diff --git a/algaeff/Algaeff/Reader/Make/argument-1-P/index.html b/algaeff/Algaeff/Reader/Make/argument-1-P/index.html index 7997b8b..51f163e 100644 --- a/algaeff/Algaeff/Reader/Make/argument-1-P/index.html +++ b/algaeff/Algaeff/Reader/Make/argument-1-P/index.html @@ -1,2 +1,2 @@ -P (algaeff.Algaeff.Reader.Make.P)

Parameter Make.P

Parameters of read effects.

type env

The type of environments.

\ No newline at end of file +P (algaeff.Algaeff.Reader.Make.P)

Parameter Make.P

Parameters of read effects.

type env

The type of environments.

\ No newline at end of file diff --git a/algaeff/Algaeff/Reader/Make/index.html b/algaeff/Algaeff/Reader/Make/index.html index bc0cc25..5bdd222 100644 --- a/algaeff/Algaeff/Reader/Make/index.html +++ b/algaeff/Algaeff/Reader/Make/index.html @@ -1,2 +1,2 @@ -Make (algaeff.Algaeff.Reader.Make)

Module Reader.Make

The implementation of read effects.

Signatures of read effects.

Parameters

module P : Param

Signature

include Param with type env = P.env
type env = P.env

The type of environments.

val read : unit -> env

Read the environment.

val scope : (env -> env) -> (unit -> 'a) -> 'a

scope f t runs the thunk t under the new environment that is the result of applying f to the current environment.

val run : env:env -> (unit -> 'a) -> 'a

run t runs the thunk t which may perform reading effects.

\ No newline at end of file +Make (algaeff.Algaeff.Reader.Make)

Module Reader.Make

The implementation of read effects.

Signatures of read effects.

Parameters

module P : Param

Signature

include Param with type env = P.env
type env = P.env

The type of environments.

val read : unit -> env

Read the environment.

val scope : (env -> env) -> (unit -> 'a) -> 'a

scope f t runs the thunk t under the new environment that is the result of applying f to the current environment.

val run : env:env -> (unit -> 'a) -> 'a

run t runs the thunk t which may perform reading effects.

\ No newline at end of file diff --git a/algaeff/Algaeff/Reader/index.html b/algaeff/Algaeff/Reader/index.html index 2f799d1..00d2622 100644 --- a/algaeff/Algaeff/Reader/index.html +++ b/algaeff/Algaeff/Reader/index.html @@ -1,5 +1,5 @@ -Reader (algaeff.Algaeff.Reader)

Module Algaeff.Reader

Effects for reading immutable environments.

module R = Algaeff.Reader.Make (struct type env = int end)
+Reader (algaeff.Algaeff.Reader)

Module Algaeff.Reader

Effects for reading immutable environments.

module R = Algaeff.Reader.Make (struct type env = int end)
 
 let () = R.run ~env:42 @@ fun () ->
   (* this will print out 42 *)
diff --git a/algaeff/Algaeff/Reader/module-type-Param/index.html b/algaeff/Algaeff/Reader/module-type-Param/index.html
index 968d3e4..2170a34 100644
--- a/algaeff/Algaeff/Reader/module-type-Param/index.html
+++ b/algaeff/Algaeff/Reader/module-type-Param/index.html
@@ -1,2 +1,2 @@
 
-Param (algaeff.Algaeff.Reader.Param)

Module type Reader.Param

Parameters of read effects.

type env

The type of environments.

\ No newline at end of file +Param (algaeff.Algaeff.Reader.Param)

Module type Reader.Param

Parameters of read effects.

type env

The type of environments.

\ No newline at end of file diff --git a/algaeff/Algaeff/Reader/module-type-S/index.html b/algaeff/Algaeff/Reader/module-type-S/index.html index 9b67102..4ddb370 100644 --- a/algaeff/Algaeff/Reader/module-type-S/index.html +++ b/algaeff/Algaeff/Reader/module-type-S/index.html @@ -1,2 +1,2 @@ -S (algaeff.Algaeff.Reader.S)

Module type Reader.S

Signatures of read effects.

include Param
type env

The type of environments.

val read : unit -> env

Read the environment.

val scope : (env -> env) -> (unit -> 'a) -> 'a

scope f t runs the thunk t under the new environment that is the result of applying f to the current environment.

val run : env:env -> (unit -> 'a) -> 'a

run t runs the thunk t which may perform reading effects.

\ No newline at end of file +S (algaeff.Algaeff.Reader.S)

Module type Reader.S

Signatures of read effects.

include Param
type env

The type of environments.

val read : unit -> env

Read the environment.

val scope : (env -> env) -> (unit -> 'a) -> 'a

scope f t runs the thunk t under the new environment that is the result of applying f to the current environment.

val run : env:env -> (unit -> 'a) -> 'a

run t runs the thunk t which may perform reading effects.

\ No newline at end of file diff --git a/algaeff/Algaeff/Sequencer/Make/argument-1-P/index.html b/algaeff/Algaeff/Sequencer/Make/argument-1-P/index.html index a5e4568..297f1af 100644 --- a/algaeff/Algaeff/Sequencer/Make/argument-1-P/index.html +++ b/algaeff/Algaeff/Sequencer/Make/argument-1-P/index.html @@ -1,2 +1,2 @@ -P (algaeff.Algaeff.Sequencer.Make.P)

Parameter Make.P

Parameters of sequencing effects.

type elt

The type of elementers.

\ No newline at end of file +P (algaeff.Algaeff.Sequencer.Make.P)

Parameter Make.P

Parameters of sequencing effects.

type elt

The type of elementers.

\ No newline at end of file diff --git a/algaeff/Algaeff/Sequencer/Make/index.html b/algaeff/Algaeff/Sequencer/Make/index.html index c2c8c61..87c8c41 100644 --- a/algaeff/Algaeff/Sequencer/Make/index.html +++ b/algaeff/Algaeff/Sequencer/Make/index.html @@ -1,2 +1,2 @@ -Make (algaeff.Algaeff.Sequencer.Make)

Module Sequencer.Make

The implementation of sequencing effects.

Signatures of sequencing effects.

Parameters

module P : Param

Signature

include Param with type elt = P.elt
type elt = P.elt

The type of elementers.

val yield : elt -> unit

Yield the element.

val run : (unit -> unit) -> elt Stdlib.Seq.t

run t runs the thunk t which may perform sequencing effects.

\ No newline at end of file +Make (algaeff.Algaeff.Sequencer.Make)

Module Sequencer.Make

The implementation of sequencing effects.

Signatures of sequencing effects.

Parameters

module P : Param

Signature

include Param with type elt = P.elt
type elt = P.elt

The type of elementers.

val yield : elt -> unit

Yield the element.

val run : (unit -> unit) -> elt Stdlib.Seq.t

run t runs the thunk t which may perform sequencing effects.

\ No newline at end of file diff --git a/algaeff/Algaeff/Sequencer/index.html b/algaeff/Algaeff/Sequencer/index.html index 72747c9..4559751 100644 --- a/algaeff/Algaeff/Sequencer/index.html +++ b/algaeff/Algaeff/Sequencer/index.html @@ -1,5 +1,5 @@ -Sequencer (algaeff.Algaeff.Sequencer)

Module Algaeff.Sequencer

Effects for constructing a Seq.t.

  • since 0.2
module S = Algaeff.Sequencer.Make (struct type elt = int end)
+Sequencer (algaeff.Algaeff.Sequencer)

Module Algaeff.Sequencer

Effects for constructing a Seq.t.

  • since 0.2
module S = Algaeff.Sequencer.Make (struct type elt = int end)
 
 (* The sequence corresponding to [[1; 2; 3]]. *)
 let seq : int Seq.t = S.run @@ fun () -> S.yield 1; S.yield 2; S.yield 3
diff --git a/algaeff/Algaeff/Sequencer/module-type-Param/index.html b/algaeff/Algaeff/Sequencer/module-type-Param/index.html
index f64696d..1c934bc 100644
--- a/algaeff/Algaeff/Sequencer/module-type-Param/index.html
+++ b/algaeff/Algaeff/Sequencer/module-type-Param/index.html
@@ -1,2 +1,2 @@
 
-Param (algaeff.Algaeff.Sequencer.Param)

Module type Sequencer.Param

Parameters of sequencing effects.

type elt

The type of elementers.

\ No newline at end of file +Param (algaeff.Algaeff.Sequencer.Param)

Module type Sequencer.Param

Parameters of sequencing effects.

type elt

The type of elementers.

\ No newline at end of file diff --git a/algaeff/Algaeff/Sequencer/module-type-S/index.html b/algaeff/Algaeff/Sequencer/module-type-S/index.html index 26bb1a0..f55f3ac 100644 --- a/algaeff/Algaeff/Sequencer/module-type-S/index.html +++ b/algaeff/Algaeff/Sequencer/module-type-S/index.html @@ -1,2 +1,2 @@ -S (algaeff.Algaeff.Sequencer.S)

Module type Sequencer.S

Signatures of sequencing effects.

include Param
type elt

The type of elementers.

val yield : elt -> unit

Yield the element.

val run : (unit -> unit) -> elt Stdlib.Seq.t

run t runs the thunk t which may perform sequencing effects.

\ No newline at end of file +S (algaeff.Algaeff.Sequencer.S)

Module type Sequencer.S

Signatures of sequencing effects.

include Param
type elt

The type of elementers.

val yield : elt -> unit

Yield the element.

val run : (unit -> unit) -> elt Stdlib.Seq.t

run t runs the thunk t which may perform sequencing effects.

\ No newline at end of file diff --git a/algaeff/Algaeff/State/Make/argument-1-P/index.html b/algaeff/Algaeff/State/Make/argument-1-P/index.html index 35bee74..9c71d3c 100644 --- a/algaeff/Algaeff/State/Make/argument-1-P/index.html +++ b/algaeff/Algaeff/State/Make/argument-1-P/index.html @@ -1,2 +1,2 @@ -P (algaeff.Algaeff.State.Make.P)

Parameter Make.P

Parameters of state effects.

type state

The type of states.

\ No newline at end of file +P (algaeff.Algaeff.State.Make.P)

Parameter Make.P

Parameters of state effects.

type state

The type of states.

\ No newline at end of file diff --git a/algaeff/Algaeff/State/Make/index.html b/algaeff/Algaeff/State/Make/index.html index 6a57c31..d11beff 100644 --- a/algaeff/Algaeff/State/Make/index.html +++ b/algaeff/Algaeff/State/Make/index.html @@ -1,2 +1,2 @@ -Make (algaeff.Algaeff.State.Make)

Module State.Make

The implementation of state effects.

Signatures of read effects.

Parameters

module P : Param

Signature

include Param with type state = P.state
type state = P.state

The type of states.

val get : unit -> state

get () reads the current state.

val set : state -> unit

set x makes x the new state.

val modify : (state -> state) -> unit

modify f applies f to the current state and then set the result as the new state.

val run : init:state -> (unit -> 'a) -> 'a

run t runs the thunk t which may perform state effects.

\ No newline at end of file +Make (algaeff.Algaeff.State.Make)

Module State.Make

The implementation of state effects.

Signatures of read effects.

Parameters

module P : Param

Signature

include Param with type state = P.state
type state = P.state

The type of states.

val get : unit -> state

get () reads the current state.

val set : state -> unit

set x makes x the new state.

val modify : (state -> state) -> unit

modify f applies f to the current state and then set the result as the new state.

val run : init:state -> (unit -> 'a) -> 'a

run t runs the thunk t which may perform state effects.

\ No newline at end of file diff --git a/algaeff/Algaeff/State/index.html b/algaeff/Algaeff/State/index.html index 38ab078..b0ee671 100644 --- a/algaeff/Algaeff/State/index.html +++ b/algaeff/Algaeff/State/index.html @@ -1,5 +1,5 @@ -State (algaeff.Algaeff.State)

Module Algaeff.State

Effects for changing states.

module S = Algaeff.State.Make (struct type state = int end)
+State (algaeff.Algaeff.State)

Module Algaeff.State

Effects for changing states.

module S = Algaeff.State.Make (struct type state = int end)
 
 let forty_two = S.run ~init:100 @@ fun () ->
   print_int (S.get ()); (* this will print out 100 *)
diff --git a/algaeff/Algaeff/State/module-type-Param/index.html b/algaeff/Algaeff/State/module-type-Param/index.html
index bdfb7b3..15bec9c 100644
--- a/algaeff/Algaeff/State/module-type-Param/index.html
+++ b/algaeff/Algaeff/State/module-type-Param/index.html
@@ -1,2 +1,2 @@
 
-Param (algaeff.Algaeff.State.Param)

Module type State.Param

Parameters of state effects.

type state

The type of states.

\ No newline at end of file +Param (algaeff.Algaeff.State.Param)

Module type State.Param

Parameters of state effects.

type state

The type of states.

\ No newline at end of file diff --git a/algaeff/Algaeff/State/module-type-S/index.html b/algaeff/Algaeff/State/module-type-S/index.html index fa94fab..825b100 100644 --- a/algaeff/Algaeff/State/module-type-S/index.html +++ b/algaeff/Algaeff/State/module-type-S/index.html @@ -1,2 +1,2 @@ -S (algaeff.Algaeff.State.S)

Module type State.S

Signatures of read effects.

include Param
type state

The type of states.

val get : unit -> state

get () reads the current state.

val set : state -> unit

set x makes x the new state.

val modify : (state -> state) -> unit

modify f applies f to the current state and then set the result as the new state.

val run : init:state -> (unit -> 'a) -> 'a

run t runs the thunk t which may perform state effects.

\ No newline at end of file +S (algaeff.Algaeff.State.S)

Module type State.S

Signatures of read effects.

include Param
type state

The type of states.

val get : unit -> state

get () reads the current state.

val set : state -> unit

set x makes x the new state.

val modify : (state -> state) -> unit

modify f applies f to the current state and then set the result as the new state.

val run : init:state -> (unit -> 'a) -> 'a

run t runs the thunk t which may perform state effects.

\ No newline at end of file diff --git a/algaeff/Algaeff/UniqueID/Make/ID/index.html b/algaeff/Algaeff/UniqueID/Make/ID/index.html index 0f3089d..29186c4 100644 --- a/algaeff/Algaeff/UniqueID/Make/ID/index.html +++ b/algaeff/Algaeff/UniqueID/Make/ID/index.html @@ -1,2 +1,2 @@ -ID (algaeff.Algaeff.UniqueID.Make.ID)

Module Make.ID

The type of IDs and its friends.

type t = private int

Semi-abstract type of IDs.

val equal : t -> t -> bool

Checking whether two IDs are equal.

val compare : t -> t -> int

Compare two IDs.

val dump : Stdlib.Format.formatter -> t -> unit

Printing the ID.

val unsafe_of_int : int -> t

Unsafe conversion from int. Should be used only for de-serialization.

\ No newline at end of file +ID (algaeff.Algaeff.UniqueID.Make.ID)

Module Make.ID

The type of IDs and its friends.

type t = private int

Semi-abstract type of IDs.

val equal : t -> t -> bool

Checking whether two IDs are equal.

val compare : t -> t -> int

Compare two IDs.

val dump : Stdlib.Format.formatter -> t -> unit

Printing the ID.

val unsafe_of_int : int -> t

Unsafe conversion from int. Should be used only for de-serialization.

\ No newline at end of file diff --git a/algaeff/Algaeff/UniqueID/Make/argument-1-P/index.html b/algaeff/Algaeff/UniqueID/Make/argument-1-P/index.html index 6af32c3..9b8e396 100644 --- a/algaeff/Algaeff/UniqueID/Make/argument-1-P/index.html +++ b/algaeff/Algaeff/UniqueID/Make/argument-1-P/index.html @@ -1,2 +1,2 @@ -P (algaeff.Algaeff.UniqueID.Make.P)

Parameter Make.P

Parameters of the effects.

type elt

The type of elements.

\ No newline at end of file +P (algaeff.Algaeff.UniqueID.Make.P)

Parameter Make.P

Parameters of the effects.

type elt

The type of elements.

\ No newline at end of file diff --git a/algaeff/Algaeff/UniqueID/Make/index.html b/algaeff/Algaeff/UniqueID/Make/index.html index 3309a80..924bc14 100644 --- a/algaeff/Algaeff/UniqueID/Make/index.html +++ b/algaeff/Algaeff/UniqueID/Make/index.html @@ -1,2 +1,2 @@ -Make (algaeff.Algaeff.UniqueID.Make)

Module UniqueID.Make

The implementation of the effects.

Signatures of the effects.

Parameters

module P : Param

Signature

include Param with type elt = P.elt
type elt = P.elt

The type of elements.

module ID : sig ... end

The type of IDs and its friends.

type id = ID.t

The type of unique IDs. The client should not assume a particular indexing scheme.

val register : elt -> id

Register a new item and get an ID. Note that registering the same item twice will get two different IDs.

val retrieve : id -> elt

Retrieve the item associated with the ID.

val export : unit -> elt Stdlib.Seq.t

Export the internal storage for serialization. Once exported, the representation is persistent and can be traversed without the effect handler.

val run : ?init:elt Stdlib.Seq.t -> (unit -> 'a) -> 'a

run t runs the thunk t and handles the effects for generating unique IDs.

  • parameter init

    The initial storage, which should be the output of some previous export.

\ No newline at end of file +Make (algaeff.Algaeff.UniqueID.Make)

Module UniqueID.Make

The implementation of the effects.

Signatures of the effects.

Parameters

module P : Param

Signature

include Param with type elt = P.elt
type elt = P.elt

The type of elements.

module ID : sig ... end

The type of IDs and its friends.

type id = ID.t

The type of unique IDs. The client should not assume a particular indexing scheme.

val register : elt -> id

Register a new item and get an ID. Note that registering the same item twice will get two different IDs.

val retrieve : id -> elt

Retrieve the item associated with the ID.

val export : unit -> elt Stdlib.Seq.t

Export the internal storage for serialization. Once exported, the representation is persistent and can be traversed without the effect handler.

val run : ?init:elt Stdlib.Seq.t -> (unit -> 'a) -> 'a

run t runs the thunk t and handles the effects for generating unique IDs.

  • parameter init

    The initial storage, which should be the output of some previous export.

\ No newline at end of file diff --git a/algaeff/Algaeff/UniqueID/index.html b/algaeff/Algaeff/UniqueID/index.html index f03629c..1c1d245 100644 --- a/algaeff/Algaeff/UniqueID/index.html +++ b/algaeff/Algaeff/UniqueID/index.html @@ -1,2 +1,2 @@ -UniqueID (algaeff.Algaeff.UniqueID)

Module Algaeff.UniqueID

Effects for generating unique IDs.

  • since 0.2

Generate unique IDs for registered items.

module type Param = sig ... end

Parameters of the effects.

module type S = sig ... end

Signatures of the effects.

module Make (P : Param) : S with type elt = P.elt

The implementation of the effects.

\ No newline at end of file +UniqueID (algaeff.Algaeff.UniqueID)

Module Algaeff.UniqueID

Effects for generating unique IDs.

  • since 0.2

Generate unique IDs for registered items.

module type Param = sig ... end

Parameters of the effects.

module type S = sig ... end

Signatures of the effects.

module Make (P : Param) : S with type elt = P.elt

The implementation of the effects.

\ No newline at end of file diff --git a/algaeff/Algaeff/UniqueID/module-type-Param/index.html b/algaeff/Algaeff/UniqueID/module-type-Param/index.html index d08daa2..f393da8 100644 --- a/algaeff/Algaeff/UniqueID/module-type-Param/index.html +++ b/algaeff/Algaeff/UniqueID/module-type-Param/index.html @@ -1,2 +1,2 @@ -Param (algaeff.Algaeff.UniqueID.Param)

Module type UniqueID.Param

Parameters of the effects.

type elt

The type of elements.

\ No newline at end of file +Param (algaeff.Algaeff.UniqueID.Param)

Module type UniqueID.Param

Parameters of the effects.

type elt

The type of elements.

\ No newline at end of file diff --git a/algaeff/Algaeff/UniqueID/module-type-S/ID/index.html b/algaeff/Algaeff/UniqueID/module-type-S/ID/index.html index 3b1a248..b3a3663 100644 --- a/algaeff/Algaeff/UniqueID/module-type-S/ID/index.html +++ b/algaeff/Algaeff/UniqueID/module-type-S/ID/index.html @@ -1,2 +1,2 @@ -ID (algaeff.Algaeff.UniqueID.S.ID)

Module S.ID

The type of IDs and its friends.

type t = private int

Semi-abstract type of IDs.

val equal : t -> t -> bool

Checking whether two IDs are equal.

val compare : t -> t -> int

Compare two IDs.

val dump : Stdlib.Format.formatter -> t -> unit

Printing the ID.

val unsafe_of_int : int -> t

Unsafe conversion from int. Should be used only for de-serialization.

\ No newline at end of file +ID (algaeff.Algaeff.UniqueID.S.ID)

Module S.ID

The type of IDs and its friends.

type t = private int

Semi-abstract type of IDs.

val equal : t -> t -> bool

Checking whether two IDs are equal.

val compare : t -> t -> int

Compare two IDs.

val dump : Stdlib.Format.formatter -> t -> unit

Printing the ID.

val unsafe_of_int : int -> t

Unsafe conversion from int. Should be used only for de-serialization.

\ No newline at end of file diff --git a/algaeff/Algaeff/UniqueID/module-type-S/index.html b/algaeff/Algaeff/UniqueID/module-type-S/index.html index 506180e..f0498d5 100644 --- a/algaeff/Algaeff/UniqueID/module-type-S/index.html +++ b/algaeff/Algaeff/UniqueID/module-type-S/index.html @@ -1,2 +1,2 @@ -S (algaeff.Algaeff.UniqueID.S)

Module type UniqueID.S

Signatures of the effects.

include Param
type elt

The type of elements.

module ID : sig ... end

The type of IDs and its friends.

type id = ID.t

The type of unique IDs. The client should not assume a particular indexing scheme.

val register : elt -> id

Register a new item and get an ID. Note that registering the same item twice will get two different IDs.

val retrieve : id -> elt

Retrieve the item associated with the ID.

val export : unit -> elt Stdlib.Seq.t

Export the internal storage for serialization. Once exported, the representation is persistent and can be traversed without the effect handler.

val run : ?init:elt Stdlib.Seq.t -> (unit -> 'a) -> 'a

run t runs the thunk t and handles the effects for generating unique IDs.

  • parameter init

    The initial storage, which should be the output of some previous export.

\ No newline at end of file +S (algaeff.Algaeff.UniqueID.S)

Module type UniqueID.S

Signatures of the effects.

include Param
type elt

The type of elements.

module ID : sig ... end

The type of IDs and its friends.

type id = ID.t

The type of unique IDs. The client should not assume a particular indexing scheme.

val register : elt -> id

Register a new item and get an ID. Note that registering the same item twice will get two different IDs.

val retrieve : id -> elt

Retrieve the item associated with the ID.

val export : unit -> elt Stdlib.Seq.t

Export the internal storage for serialization. Once exported, the representation is persistent and can be traversed without the effect handler.

val run : ?init:elt Stdlib.Seq.t -> (unit -> 'a) -> 'a

run t runs the thunk t and handles the effects for generating unique IDs.

  • parameter init

    The initial storage, which should be the output of some previous export.

\ No newline at end of file diff --git a/algaeff/Algaeff/Unmonad/Make/argument-1-M/index.html b/algaeff/Algaeff/Unmonad/Make/argument-1-M/index.html index 763a08e..d62a3ab 100644 --- a/algaeff/Algaeff/Unmonad/Make/argument-1-M/index.html +++ b/algaeff/Algaeff/Unmonad/Make/argument-1-M/index.html @@ -1,2 +1,2 @@ -M (algaeff.Algaeff.Unmonad.Make.M)

Parameter Make.M

The signature of monads.

type 'a t
val ret : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
\ No newline at end of file +M (algaeff.Algaeff.Unmonad.Make.M)

Parameter Make.M

The signature of monads.

type 'a t
val ret : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
\ No newline at end of file diff --git a/algaeff/Algaeff/Unmonad/Make/index.html b/algaeff/Algaeff/Unmonad/Make/index.html index 3faa6be..846741a 100644 --- a/algaeff/Algaeff/Unmonad/Make/index.html +++ b/algaeff/Algaeff/Unmonad/Make/index.html @@ -1,2 +1,2 @@ -Make (algaeff.Algaeff.Unmonad.Make)

Module Unmonad.Make

The implementation of monad effects.

Signatures of monad effects.

Parameters

module M : Monad

Signature

type 'a t = 'a M.t

The monad.

val perform : 'a t -> 'a

Perform an monadic operation.

val run : (unit -> 'a) -> 'a t

run t runs the thunk t which may perform monad effects, and then returns the corresponding monadic expression.

\ No newline at end of file +Make (algaeff.Algaeff.Unmonad.Make)

Module Unmonad.Make

The implementation of monad effects.

Signatures of monad effects.

Parameters

module M : Monad

Signature

type 'a t = 'a M.t

The monad.

val perform : 'a t -> 'a

Perform an monadic operation.

val run : (unit -> 'a) -> 'a t

run t runs the thunk t which may perform monad effects, and then returns the corresponding monadic expression.

\ No newline at end of file diff --git a/algaeff/Algaeff/Unmonad/index.html b/algaeff/Algaeff/Unmonad/index.html index ac33309..587eb72 100644 --- a/algaeff/Algaeff/Unmonad/index.html +++ b/algaeff/Algaeff/Unmonad/index.html @@ -1,5 +1,5 @@ -Unmonad (algaeff.Algaeff.Unmonad)

Module Algaeff.Unmonad

Effects for any monad (subject to OCaml continuations being one-shot).

This is a general construction that uses effects to construct monadic expressions. Here is an alternative implementation of State using the standard state monad:

module StateMonad =
+Unmonad (algaeff.Algaeff.Unmonad)

Module Algaeff.Unmonad

Effects for any monad (subject to OCaml continuations being one-shot).

This is a general construction that uses effects to construct monadic expressions. Here is an alternative implementation of State using the standard state monad:

module StateMonad =
 struct
   type state = int
   type 'a t = state -> 'a * state
diff --git a/algaeff/Algaeff/Unmonad/module-type-Monad/index.html b/algaeff/Algaeff/Unmonad/module-type-Monad/index.html
index 58cebab..01ab137 100644
--- a/algaeff/Algaeff/Unmonad/module-type-Monad/index.html
+++ b/algaeff/Algaeff/Unmonad/module-type-Monad/index.html
@@ -1,2 +1,2 @@
 
-Monad (algaeff.Algaeff.Unmonad.Monad)

Module type Unmonad.Monad

The signature of monads.

type 'a t
val ret : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
\ No newline at end of file +Monad (algaeff.Algaeff.Unmonad.Monad)

Module type Unmonad.Monad

The signature of monads.

type 'a t
val ret : 'a -> 'a t
val bind : 'a t -> ('a -> 'b t) -> 'b t
\ No newline at end of file diff --git a/algaeff/Algaeff/Unmonad/module-type-S/index.html b/algaeff/Algaeff/Unmonad/module-type-S/index.html index 42d24fd..916febd 100644 --- a/algaeff/Algaeff/Unmonad/module-type-S/index.html +++ b/algaeff/Algaeff/Unmonad/module-type-S/index.html @@ -1,2 +1,2 @@ -S (algaeff.Algaeff.Unmonad.S)

Module type Unmonad.S

Signatures of monad effects.

type 'a t

The monad.

val perform : 'a t -> 'a

Perform an monadic operation.

val run : (unit -> 'a) -> 'a t

run t runs the thunk t which may perform monad effects, and then returns the corresponding monadic expression.

\ No newline at end of file +S (algaeff.Algaeff.Unmonad.S)

Module type Unmonad.S

Signatures of monad effects.

type 'a t

The monad.

val perform : 'a t -> 'a

Perform an monadic operation.

val run : (unit -> 'a) -> 'a t

run t runs the thunk t which may perform monad effects, and then returns the corresponding monadic expression.

\ No newline at end of file diff --git a/algaeff/Algaeff/index.html b/algaeff/Algaeff/index.html index c567686..1b694ec 100644 --- a/algaeff/Algaeff/index.html +++ b/algaeff/Algaeff/index.html @@ -1,2 +1,2 @@ -Algaeff (algaeff.Algaeff)

Module Algaeff

Reusable effects-based components.

Reusable components

module State : module type of State

Effects for changing states.

module Reader : module type of Reader

Effects for reading immutable environments.

module Sequencer : module type of Sequencer

Effects for constructing a Seq.t.

module Mutex : module type of Mutex

Effects for making concurrent execution immediately fail.

module UniqueID : module type of UniqueID

Effects for generating unique IDs.

module Unmonad : module type of Unmonad

Effects for any monad (subject to OCaml continuations being one-shot).

Auxiliary tools

module Fun : module type of Fun

Useful helper functions around effects.

\ No newline at end of file +Algaeff (algaeff.Algaeff)

Module Algaeff

Reusable effects-based components.

Reusable components

module State : module type of State

Effects for changing states.

module Reader : module type of Reader

Effects for reading immutable environments.

module Sequencer : module type of Sequencer

Effects for constructing a Seq.t.

module Mutex : module type of Mutex

Effects for making concurrent execution immediately fail.

module UniqueID : module type of UniqueID

Effects for generating unique IDs.

module Unmonad : module type of Unmonad

Effects for any monad (subject to OCaml continuations being one-shot).

Auxiliary tools

module Fun : module type of Fun

Useful helper functions around effects.

\ No newline at end of file diff --git a/algaeff/index.html b/algaeff/index.html index a4b375c..ad4eb26 100644 --- a/algaeff/index.html +++ b/algaeff/index.html @@ -1,2 +1,2 @@ -index (algaeff.index)

algaeff index

Library algaeff

The entry point of this library is the module: Algaeff.

\ No newline at end of file +index (algaeff.index)

algaeff index

Library algaeff

The entry point of this library is the module: Algaeff.

\ No newline at end of file diff --git a/index.html b/index.html index b5b239d..8e94592 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ index - + diff --git a/fonts/KaTeX_AMS-Regular.woff2 b/odoc.support/fonts/KaTeX_AMS-Regular.woff2 similarity index 100% rename from fonts/KaTeX_AMS-Regular.woff2 rename to odoc.support/fonts/KaTeX_AMS-Regular.woff2 diff --git a/fonts/KaTeX_Caligraphic-Bold.woff2 b/odoc.support/fonts/KaTeX_Caligraphic-Bold.woff2 similarity index 100% rename from fonts/KaTeX_Caligraphic-Bold.woff2 rename to odoc.support/fonts/KaTeX_Caligraphic-Bold.woff2 diff --git a/fonts/KaTeX_Caligraphic-Regular.woff2 b/odoc.support/fonts/KaTeX_Caligraphic-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Caligraphic-Regular.woff2 rename to odoc.support/fonts/KaTeX_Caligraphic-Regular.woff2 diff --git a/fonts/KaTeX_Fraktur-Bold.woff2 b/odoc.support/fonts/KaTeX_Fraktur-Bold.woff2 similarity index 100% rename from fonts/KaTeX_Fraktur-Bold.woff2 rename to odoc.support/fonts/KaTeX_Fraktur-Bold.woff2 diff --git a/fonts/KaTeX_Fraktur-Regular.woff2 b/odoc.support/fonts/KaTeX_Fraktur-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Fraktur-Regular.woff2 rename to odoc.support/fonts/KaTeX_Fraktur-Regular.woff2 diff --git a/fonts/KaTeX_Main-Bold.woff2 b/odoc.support/fonts/KaTeX_Main-Bold.woff2 similarity index 100% rename from fonts/KaTeX_Main-Bold.woff2 rename to odoc.support/fonts/KaTeX_Main-Bold.woff2 diff --git a/fonts/KaTeX_Main-BoldItalic.woff2 b/odoc.support/fonts/KaTeX_Main-BoldItalic.woff2 similarity index 100% rename from fonts/KaTeX_Main-BoldItalic.woff2 rename to odoc.support/fonts/KaTeX_Main-BoldItalic.woff2 diff --git a/fonts/KaTeX_Main-Italic.woff2 b/odoc.support/fonts/KaTeX_Main-Italic.woff2 similarity index 100% rename from fonts/KaTeX_Main-Italic.woff2 rename to odoc.support/fonts/KaTeX_Main-Italic.woff2 diff --git a/fonts/KaTeX_Main-Regular.woff2 b/odoc.support/fonts/KaTeX_Main-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Main-Regular.woff2 rename to odoc.support/fonts/KaTeX_Main-Regular.woff2 diff --git a/fonts/KaTeX_Math-BoldItalic.woff2 b/odoc.support/fonts/KaTeX_Math-BoldItalic.woff2 similarity index 100% rename from fonts/KaTeX_Math-BoldItalic.woff2 rename to odoc.support/fonts/KaTeX_Math-BoldItalic.woff2 diff --git a/fonts/KaTeX_Math-Italic.woff2 b/odoc.support/fonts/KaTeX_Math-Italic.woff2 similarity index 100% rename from fonts/KaTeX_Math-Italic.woff2 rename to odoc.support/fonts/KaTeX_Math-Italic.woff2 diff --git a/fonts/KaTeX_SansSerif-Bold.woff2 b/odoc.support/fonts/KaTeX_SansSerif-Bold.woff2 similarity index 100% rename from fonts/KaTeX_SansSerif-Bold.woff2 rename to odoc.support/fonts/KaTeX_SansSerif-Bold.woff2 diff --git a/fonts/KaTeX_SansSerif-Italic.woff2 b/odoc.support/fonts/KaTeX_SansSerif-Italic.woff2 similarity index 100% rename from fonts/KaTeX_SansSerif-Italic.woff2 rename to odoc.support/fonts/KaTeX_SansSerif-Italic.woff2 diff --git a/fonts/KaTeX_SansSerif-Regular.woff2 b/odoc.support/fonts/KaTeX_SansSerif-Regular.woff2 similarity index 100% rename from fonts/KaTeX_SansSerif-Regular.woff2 rename to odoc.support/fonts/KaTeX_SansSerif-Regular.woff2 diff --git a/fonts/KaTeX_Script-Regular.woff2 b/odoc.support/fonts/KaTeX_Script-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Script-Regular.woff2 rename to odoc.support/fonts/KaTeX_Script-Regular.woff2 diff --git a/fonts/KaTeX_Size1-Regular.woff2 b/odoc.support/fonts/KaTeX_Size1-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Size1-Regular.woff2 rename to odoc.support/fonts/KaTeX_Size1-Regular.woff2 diff --git a/fonts/KaTeX_Size2-Regular.woff2 b/odoc.support/fonts/KaTeX_Size2-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Size2-Regular.woff2 rename to odoc.support/fonts/KaTeX_Size2-Regular.woff2 diff --git a/fonts/KaTeX_Size3-Regular.woff2 b/odoc.support/fonts/KaTeX_Size3-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Size3-Regular.woff2 rename to odoc.support/fonts/KaTeX_Size3-Regular.woff2 diff --git a/fonts/KaTeX_Size4-Regular.woff2 b/odoc.support/fonts/KaTeX_Size4-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Size4-Regular.woff2 rename to odoc.support/fonts/KaTeX_Size4-Regular.woff2 diff --git a/fonts/KaTeX_Typewriter-Regular.woff2 b/odoc.support/fonts/KaTeX_Typewriter-Regular.woff2 similarity index 100% rename from fonts/KaTeX_Typewriter-Regular.woff2 rename to odoc.support/fonts/KaTeX_Typewriter-Regular.woff2 diff --git a/highlight.pack.js b/odoc.support/highlight.pack.js similarity index 100% rename from highlight.pack.js rename to odoc.support/highlight.pack.js diff --git a/katex.min.css b/odoc.support/katex.min.css similarity index 100% rename from katex.min.css rename to odoc.support/katex.min.css diff --git a/katex.min.js b/odoc.support/katex.min.js similarity index 100% rename from katex.min.js rename to odoc.support/katex.min.js diff --git a/odoc.css b/odoc.support/odoc.css similarity index 100% rename from odoc.css rename to odoc.support/odoc.css