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.
module Loader = Sexp_macro__.Macro.Loader
include Sexp_macro__.Async_reader
type ('sexp, 'a, 'b) load
= 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
module Macro_loader = Sexp_macro__.Async_reader.Macro_loader