package catala

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Contains some structures used for type inference

module Any : Utils.Uid.Id with type info = unit
type unionfind_typ = typ Utils.Marked.pos UnionFind.elem

We do not reuse typ because we have to include a new TAny variant. Indeed, error terms can have any type and this has to be captured by the type sytem.

and typ =
  1. | TLit of typ_lit
  2. | TArrow of unionfind_typ * unionfind_typ
  3. | TTuple of unionfind_typ list * StructName.t option
  4. | TEnum of unionfind_typ list * EnumName.t
  5. | TArray of unionfind_typ
  6. | TAny of Any.t
val typ_to_ast : unionfind_typ -> marked_typ
val ast_to_typ : marked_typ -> unionfind_typ