Engine

Adapton engine.

type Log<Name, Val, Error, Closure> = Lg.Log<Name, Val, Error, Closure>

class Engine<Name, Val, Error, Closure>(evalOps : E.EvalOps<Name, Val, Error, Closure>, _logFlag : Bool)

public func init(evalClosure : E.EvalClosure<Val, Error, Closure>)

public func takeLog() : Log<Name, Val, Error, Closure>

take the log events (always empty when log is off)

public func nest<X>(name : Name, body : () -> X) : X

public func put(name : Name, val : Val) : R.Result<Name, G.PutError>

public func putThunk(name : Name, cl : Closure) : R.Result<Name, G.PutError>

public func get(name : Name) : R.Result<{#ok : Val; #err : Error}, G.GetError>