package shexp

  1. Overview
  2. Docs
Process library and s-expression based shell

Install

Dune Dependency

Authors

Maintainers

Sources

shexp-v0.14.0.tar.gz
sha256=01fa41159385c30cc9de233fda13f359fb8ad1b01ed513dd1de8262aa64a3d35
md5=d756263aa2b95303edba19af36c0feea

doc/shexp.process/Shexp_process/module-type-Debugger/index.html

Module type Shexp_process.DebuggerSource

shexp_process allows one to plug a debugger in the evaluator. Logged and Traced are essentially two non-interactive debuggers.

type t
type ('a, 'b) prim_token
val before_prim : t -> ('a, 'b) Prim.t -> ('a, 'b) Prim.Args.t -> ('a, 'b) prim_token

Called before the execution of a primitive. The S-expression is a representation of the primitive call, for instance (mkdir "foo").

val after_prim : t -> ('a, 'b) Prim.t -> ('b, exn * Printexc.raw_backtrace) result -> ('a, 'b) prim_token -> unit

Called after the execution of a primitive, with the result.

val user_exn : t -> exn -> Printexc.raw_backtrace -> unit

Register a user exception, i.e. when a bind raises.

val output : t -> string -> unit

Captured output

val fork : t -> t * t

Called before forking.

val end_fork : t -> t -> t -> unit

Called in the same thread that started the fork.

val enter_sub : t -> unit

Shexp tries to linearize the trace as much as possible. When an execution parameter is changed locally, such as in (chdir ...) >>= ..., a sub context is entered.

val leave_sub : t -> unit
val force_threads : bool

Force the use of threads in all forks, even when Shexp_process detect they are not necessary.

OCaml

Innovation. Community. Security.