module Register:
Register(Datatype)(State)(Info)
registers a new kind of computation by
side-effect.
Datatype
represents the datatype of a state, State
explains how to
deal with a state and Info
mainly details the dependencies of the
computation (i.e. what computations should be done before this one).
Consult the Plugin Development Guide for additional details.
val self : Project.t
val select : Kind.how -> Project.Computation.selection -> Project.Computation.selection
select sel
add the registered state to the given selection in a
functional way.
val depend : Project.t -> unit
depend k
adds a dependencies from k
to me
.
val mark_as_computed : ?project:Project.project -> unit -> unit
Indicate that the registered state will not change again for the
given project (default is current ()
).
val is_computed : ?project:Project.project -> unit -> bool
Returns true
iff the registered state will not change again for the
given project (default is current ()
).
val do_not_save : unit -> unit
Call this function if the registered state must not be save/load
on/from disk. When loading, a new state (generated using create
) is
used instead.
Exportation of some inputs (easier use of Computation.Register
).
module Datatype: Project.Datatype.S
val name : string