Module Sexp_macro

module Blocking = Sexp_macro__.Blocking_reader
include Sexp_macro__.Macro
type 'a conv = [
| `Result of 'a
| `Error of exn * Sexplib.Sexp.t
]
val sexp_of_conv : ('a -> Sexplib.Sexp.t) -> 'a conv -> Sexplib.Sexp.t
type 'a annot_conv = [ `Result of 'a | `Error of exn * Sexplib.Sexp.Annotated.t ] as 'body constraint 'body = 'a Sexplib.Sexp.Annotated.conv
val sexp_of_annot_conv : ('a -> Sexplib.Sexp.t) -> 'a annot_conv -> Sexplib.Sexp.t
val 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.

module 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.

val add_error_location : string -> exn -> exn
include Sexp_macro__.Async_reader
type ('sexp, 'a, 'b) load = ?⁠allow_includes:bool -> string -> ('sexp -> 'a) -> 'b Async.Deferred.t
val load_sexp : (Async.Sexp.t'a'a Core.Or_error.t) load
val load_sexp_exn : (Async.Sexp.t'a'a) load
val load_sexps : (Async.Sexp.t'a'a list Core.Or_error.t) load
val load_sexps_exn : (Async.Sexp.t'a'a list) load
val included_files : string -> string list Core.Or_error.t Async.Deferred.t