Module Mlsem_types.TyExpr

type base =
  1. | TInt of Z.t option * Z.t option
  2. | TCharInt of char * char
  3. | TSString of string
  4. | TBool
  5. | TTrue
  6. | TFalse
  7. | TUnit
  8. | TChar
  9. | TAny
  10. | TEmpty
  11. | TNil
  12. | TString
  13. | TList
  14. | TFloat
  15. | TArrowAny
  16. | TTupleAny
  17. | TTupleN of int
  18. | TEnumAny
  19. | TTagAny
  20. | TRecordAny
type 'ext regexp =
  1. | Epsilon
  2. | Symbol of 'ext t
  3. | Union of 'ext regexp list
  4. | Concat of 'ext regexp list
  5. | Star of 'ext regexp
  6. | Plus of 'ext regexp
  7. | Option of 'ext regexp
and 'ext t =
  1. | TVar of kind * string
  2. | TRowVar of kind * string
  3. | TBase of base
  4. | TApp of string * 'ext t list
  5. | TEnum of string
  6. | TTag of string * 'ext t
  7. | TTuple of 'ext t list
  8. | TRecord of (string * 'ext t) list * 'ext t
  9. | TSList of 'ext regexp
  10. | TCons of 'ext t * 'ext t
  11. | TArrow of 'ext t * 'ext t
  12. | TOption of 'ext t
  13. | TCustom of string
  14. | TCup of 'ext t * 'ext t
  15. | TCap of 'ext t * 'ext t
  16. | TDiff of 'ext t * 'ext t
  17. | TNeg of 'ext t
  18. | TWhere of 'ext t * (string * string list * 'ext t) list
  19. | TRecUpd of 'ext t * (string * 'ext t) list
  20. | TRecProj of 'ext t * string
  21. | TExt of 'ext