PtcRunner.Upstream.Eval (PtcRunner v0.12.0)

Copy Markdown View Source

High-level Lisp orchestration over the upstream runtime.

Sits above the low-level PtcRunner.Upstream.Runtime server: builds a per-run RunContext, assembles the eval callbacks (tools: / discovery_exec:), and runs PTC-Lisp programs against them.

Summary

Functions

eval_options(context)

@spec eval_options(struct()) :: keyword()

run_context(runtime, opts \\ [])

@spec run_context(
  struct() | pid(),
  keyword()
) :: {:ok, struct()} | {:error, term()}

run_lisp(runtime, program, opts \\ [])

@spec run_lisp(struct() | pid(), String.t(), keyword()) ::
  {:ok, PtcRunner.Step.t()} | {:error, PtcRunner.Step.t()}

with_run_context(runtime, opts, fun)

@spec with_run_context(struct() | pid(), keyword(), (struct() -> term())) ::
  {term(), [map()]}