package MlFront_Thunk

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

Module BuildSystems.ImmutableFunctionStoreBuilderSource

Immutable function store builder.

An input key function f is supplied in the functor parameter. All values initially come from f.

You define tasks to specify non-input keys. The build systems should ... if implemented correctly ... calculate the values from the tasks rather than the store (the input keys).

To accomodate the non-input keys from tasks, when put_value is called, the function store will store the new value in memory.

It is possible to overwrite a input key with put_value. Since the function store has no visibility into tasks (so it doesn't know which are non-input keys), the overwrite is allowed.

Parameters

module Q : sig ... end

Signature

Sourcemodule Mem : sig ... end
Sourcetype i = Q.i
Sourcetype k = Q.k
Sourcetype v = Q.v
Sourcetype t = {
  1. f : i -> k -> v;
  2. i : i;
  3. m : Mem.t;
}
Sourceval initialise : i -> t
Sourceval get_info : t -> i
Sourceval get_value : Mem.k -> t -> Mem.v
Sourceval put_info : i -> t -> t
Sourceval put_value : Mem.k -> Mem.v -> t -> t