package soteria

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Soteria_std.Reversible

Reversible computation abstractions.

module type Mutable = sig ... end

Interface for mutable reversible state.

module Make_mutable (M : sig ... end) : sig ... end

Functor to create a mutable reversible state. The content itself can be mutable.

module Make_mutable_array (Elt : sig ... end) : sig ... end

An efficient, in-place, mutable reversible state for an array of values, where checkpoints are represented by indices in the array.

module type Effectful = sig ... end

Interface for effectful reversible operations that operate on a state captured by an algebraic effect.

module Mutable_to_pooled (M : Mutable) : sig ... end

Provides the same interface as the input, but backed by a resource pool.

module Mutable_to_effectful (M : Mutable) : Effectful with type t = M.t

Converts a mutable reversible state to an effectful interface

module Make_effectful (M : sig ... end) : sig ... end

Effectful reversible computation for a value of type t. Note that this module is a functor, so that we can create any amount, we are not limited to a unique reversible effect.