Module Environment

module Protocols : sig ... end
type t
val pp : Stdlib.Format.formatter -> t -> unit
val add_declaration : Ast_typed.declaration -> t -> t
val add_module : ?public:unit -> ?hidden:unit -> Ast_typed.module_variable -> Ast_typed.module_ -> t -> t
val append : Ast_typed.program -> t -> t
val default : Protocols.t -> t
val default_with_test : Protocols.t -> t
val fold : f:( 'a -> Ast_typed.declaration -> 'a ) -> init:'a -> t -> 'a
type core
val add_core_module : ?public:unit -> ?hidden:unit -> Ast_core.module_variable -> Ast_core.module_ -> core -> core
val init_core : Ast_core.module_ -> core
val to_program : t -> Ast_typed.program
val to_core_program : core -> Ast_core.module_
val append_core : Ast_core.module_ -> core -> core