type_expr vs. type_expr_case (put the regions and names in more places) in Typecheck2.mli
This commit is contained in:
parent
87386c2500
commit
97db2a431c
@ -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 }
|
||||||
|
|
||||||
|
@ -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 }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user