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 regexp =
  1. | Epsilon
  2. | Symbol of t
  3. | Union of regexp list
  4. | Concat of regexp list
  5. | Star of regexp
  6. | Plus of regexp
  7. | Option of regexp
and t =
  1. | TDyn
  2. | TVar of kind * string
  3. | TRowVar of kind * string
  4. | TBase of base
  5. | TApp of string * t list
  6. | TEnum of string
  7. | TTag of string * t
  8. | TTuple of t list
  9. | TRecord of (string * t) list * t
  10. | TSList of regexp
  11. | TCons of t * t
  12. | TArrow of t * t
  13. | TOption of t
  14. | TCustom of string
  15. | TCup of t * t
  16. | TCap of t * t
  17. | TDiff of t * t
  18. | TNeg of t
  19. | TWhere of t * (string * string list * t) list
  20. | TRecUpd of t * (string * t) list
  21. | TRecProj of t * string
  22. | TTagProj of t * string