package catala

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'e t
val empty : ?fail_on_any:bool -> ?assume_op_types:bool -> Shared_ast__.Definitions.decl_ctx -> 'e t

The ~fail_on_any labeled parameter controls the behavior of the typer in the case where polymorphic expressions are still found after typing: if false, it allows them (giving them TAny and losing typing information); if set to true (the default), it aborts.

The ~assume_op_types flag (default false) ignores the expected built-in types of polymorphic operators, and will assume correct the type information included in EAppOp nodes. This is useful after monomorphisation, which changes the expected types for these operators.

val add_var : 'e Var.t -> Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos -> 'e t -> 'e t
val add_toplevel_var : Shared_ast__.Definitions.TopdefName.t -> Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos -> 'e t -> 'e t
val add_scope_var : Shared_ast__.Definitions.ScopeVar.t -> Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos -> 'e t -> 'e t
val add_scope : Shared_ast__.Definitions.ScopeName.t -> vars: Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos Shared_ast__.Definitions.ScopeVar.Map.t -> in_vars: Shared_ast__.Definitions.naked_typ Catala_utils.Mark.pos Shared_ast__.Definitions.ScopeVar.Map.t -> 'e t -> 'e t
val open_scope : Shared_ast__.Definitions.ScopeName.t -> 'e t -> 'e t
val dump : Stdlib.Format.formatter -> 'e t -> unit

For debug purposes

OCaml

Innovation. Community. Security.