Functor Macro_expander.Expander


module Expander: 
functor (C : Typed_ast.Exp_context) -> sig .. end
Parameters:
C : Typed_ast.Exp_context

val expand_defs : Typed_ast.def list ->
(Macro_expander.macro_context -> Typed_ast.exp -> Typed_ast.exp option) *
(Types.t -> Types.t) * (Types.src_t -> Types.src_t) *
(Macro_expander.pat_position ->
Macro_expander.macro_context -> Typed_ast.pat -> Typed_ast.pat option) ->
Typed_ast.def list
val expand_pat : Macro_expander.macro_context ->
Macro_expander.pat_position ->
Typed_ast.pat ->
(Types.t -> Types.t) * (Types.src_t -> Types.src_t) *
(Macro_expander.pat_position ->
Macro_expander.macro_context -> Typed_ast.pat -> Typed_ast.pat option) ->
Typed_ast.pat
val expand_exp : Macro_expander.macro_context ->
(Macro_expander.macro_context -> Typed_ast.exp -> Typed_ast.exp option) *
(Types.t -> Types.t) * (Types.src_t -> Types.src_t) *
(Macro_expander.pat_position ->
Macro_expander.macro_context -> Typed_ast.pat -> Typed_ast.pat option) ->
Typed_ast.exp -> Typed_ast.exp