mirror of
https://github.com/enso-org/enso.git
synced 2024-11-30 04:12:18 +03:00
c22928ecc2
Adds the ability to declare a module as *private*. Modifies the parser to add the `private` keyword as a reserved keyword. All the checks for private modules are implemented as an independent *Compiler pass*. No checks are done at runtime. # Important Notes - Introduces new keyword - `private` - a reserved keyword. - Modules that have `private` keyword as the first statement are declared as *private* (Project private) - Public module cannot have private submodules and vice versa. - This would require runtime access checks - See #7088 for the specification. |
||
---|---|---|
.. | ||
bindings.md | ||
diagnostics.md | ||
dispatch.md | ||
encapsulation.md | ||
errors.md | ||
evaluation.md | ||
managed-resources.md | ||
modules.md | ||
numbers.md | ||
README.md | ||
scoping.md | ||
tail-call-optimization.md |
layout | title | category | tags | order | ||
---|---|---|---|---|---|---|
section-summary | Enso's Semantics | semantics |
|
0 |
Enso's Semantics
Much like we have specifications for the syntax and the type system in Enso, we also need a specification of the language semantics. These documents specify the executable semantics of the Enso language.
The actionables for this section are:
- As we make more semantic determinations about the language these should be written down here.
This specification is broken down into the following sections:
- Bindings: The semantics of Enso's binding expressions.
- Diagnostics: The semantics of Enso's executable compiler diagnostics.
- Dispatch: The semantics of Enso's dispatch system.
- Errors: The semantics of Enso's various error systems.
- Evaluation: Enso's evaluation semantics, including those of suspended computations.
- Modules: The semantics of Enso's modules.
- Scoping: Enso's scoping and identifier resolution rules.
- Encapsulation: The semantics of Enso's encapsulation system - access restriction.