package sexp_macro

  1. Overview
  2. Docs

Module Sexp_macroSource

Sourcemodule Blocking : sig ... end

The load... functions of this module mirror the corresponding functions of the Sexp module except that they do macro-expansion in the loaded file and may throw additional exceptions.

Sourcetype 'a conv = [
  1. | `Result of 'a
  2. | `Error of exn * Sexplib.Sexp.t
]
Sourceval sexp_of_conv : ('a -> Sexplib.Sexp.t) -> 'a conv -> Sexplib.Sexp.t
Sourcetype 'a annot_conv = [ `Result of 'a | `Error of exn * Sexplib.Sexp.Annotated.t ] as 'body constraint 'body = 'a Sexplib.Sexp.Annotated.conv
Sourceval sexp_of_annot_conv : ('a -> Sexplib.Sexp.t) -> 'a annot_conv -> Sexplib.Sexp.t
Sourceval expand_local_macros : Sexplib.Sexp.t list -> Sexplib.Sexp.t list conv

expand_local_macros sexps takes a list of sexps and performs macro-expansion on them, except that an error will be returned if an :include macro is found.

Sourcemodule type Sexp_loader = sig ... end

A version of load_sexps that is functorized with respect to the functions that load the sexps from files and the corresponding monad.

Sourcemodule Loader (S : sig ... end) : sig ... end
Sourceval add_error_location : string -> exn -> exn
Sourcetype ('sexp, 'a, 'b) load = ?allow_includes:bool -> string -> ('sexp -> 'a) -> 'b Async.Deferred.t
Sourceval load_sexp : (Async.Sexp.t, 'a, 'a Core.Or_error.t) load
Sourceval load_sexp_exn : (Async.Sexp.t, 'a, 'a) load
Sourceval load_sexps : (Async.Sexp.t, 'a, 'a list Core.Or_error.t) load
Sourceval load_sexps_exn : (Async.Sexp.t, 'a, 'a list) load
Sourceval included_files : string -> string list Core.Or_error.t Async.Deferred.t
Sourcemodule Macro_loader : sig ... end
OCaml

Innovation. Community. Security.