diff --git a/src/stages/ast_simplified/types.ml b/src/stages/ast_simplified/types.ml index 69f564740..a941bf8fb 100644 --- a/src/stages/ast_simplified/types.ml +++ b/src/stages/ast_simplified/types.ml @@ -11,7 +11,14 @@ 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..d153a1cff 100644 --- a/src/stages/ast_typed/types.ml +++ b/src/stages/ast_typed/types.ml @@ -8,7 +8,13 @@ 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 =