type_expr vs. type_expr_case (put the regions and names in more places) in Typecheck2.mli

This commit is contained in:
Georges Dupéron 2019-03-14 11:50:18 +01:00
parent 87386c2500
commit 97db2a431c
2 changed files with 13 additions and 13 deletions

View File

@ -36,19 +36,19 @@ module O = struct
| Map | Map
type type_expr_case = type type_expr_case =
| Sum of (type_name * type_expr_case) list | Sum of (type_name * type_expr) list
| Record of record_key type_record | Record of record_key type_record
| TypeApp of type_constructor * (type_expr_case list) | TypeApp of type_constructor * (type_expr list)
| Function of { arg: type_expr_case; ret: type_expr_case } | Function of { arg: type_expr; ret: type_expr }
| Ref of type_expr_case | Ref of type_expr
| TC of type_constructor | TC of type_constructor
| String | String
| Int | Int
| Unit | Unit
| Bool | Bool
and 'key type_record = ('key * type_expr_case) list and 'key type_record = ('key * type_expr) list
type type_expr = { type_expr: type_expr_case; name: string option; orig: AST.type_expr } and type_expr = { type_expr: type_expr_case; name: string option; orig: AST.type_expr }
type typed_var = { name:var_name; ty:type_expr; orig: asttodo } type typed_var = { name:var_name; ty:type_expr; orig: asttodo }

View File

@ -30,25 +30,25 @@ module O : sig
and 'key precord = ('key * pattern) list and 'key precord = ('key * pattern) list
type type_constructor = type type_constructor =
| Option Option
| List | List
| Set | Set
| Map | Map
type type_expr_case = type type_expr_case =
| Sum of (type_name * type_expr_case) list Sum of (type_name * type_expr) list
| Record of record_key type_record | Record of record_key type_record
| TypeApp of type_constructor * (type_expr_case list) | TypeApp of type_constructor * (type_expr list)
| Function of { arg: type_expr_case; ret: type_expr_case } | Function of { arg: type_expr; ret: type_expr }
| Ref of type_expr_case | Ref of type_expr
| TC of type_constructor | TC of type_constructor
| String | String
| Int | Int
| Unit | Unit
| Bool | Bool
and 'key type_record = ('key * type_expr_case) list and 'key type_record = ('key * type_expr) list
type type_expr = { type_expr: type_expr_case; name: string option; orig: AST.type_expr } and type_expr = { type_expr: type_expr_case; name: string option; orig: AST.type_expr }
type typed_var = { name:var_name; ty:type_expr; orig: asttodo } type typed_var = { name:var_name; ty:type_expr; orig: asttodo }