diff --git a/src/stages/ast_simplified/types.ml b/src/stages/ast_simplified/types.ml index 69f564740..94b64044f 100644 --- a/src/stages/ast_simplified/types.ml +++ b/src/stages/ast_simplified/types.ml @@ -11,8 +11,13 @@ and type_expression = { } and declaration = | Declaration_type of (type_variable * type_expression) + + (* A Declaration_constant is described by + * a name + * an optional type annotation + * a boolean indicating whether it should be inlined + * an expression *) | Declaration_constant of (expression_variable * type_expression option * inline * expression) - (* | Macro_declaration of macro_declaration *) and expr = expression diff --git a/src/stages/ast_typed/types.ml b/src/stages/ast_typed/types.ml index cf4957613..4e3355ce4 100644 --- a/src/stages/ast_typed/types.ml +++ b/src/stages/ast_typed/types.ml @@ -8,8 +8,12 @@ type program = declaration Location.wrap list and inline = bool and declaration = + (* A Declaration_constant is described by + * a name + a type-annotated expression + * a boolean indicating whether it should be inlined + * the environment before the declaration (the original environment) + * the environment after the declaration (i.e. with that new declaration added to the original environment). *) | Declaration_constant of (named_expression * inline * (full_environment * full_environment)) - (* | Macro_declaration of macro_declaration *) and environment_element_definition = | ED_binder