enso/docs/semantics
Pavel Marek 660c5e7a9d
Atom constructors can be private (#9692)
Closes #8836.

Atom constructors can be declared as private (project-private). project-private constructors can be called only from the same project. See the encapsulation.md docs for more info.

---------

Co-authored-by: Jaroslav Tulach <jaroslav.tulach@enso.org>
Co-authored-by: Radosław Waśko <radoslaw.wasko@enso.org>
Co-authored-by: Hubert Plociniczak <hubert.plociniczak@gmail.com>
Co-authored-by: Kaz Wesley <kaz@lambdaverse.org>
2024-04-29 14:43:18 +02:00
..
bindings.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
diagnostics.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
dispatch.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
encapsulation.md Atom constructors can be private (#9692) 2024-04-29 14:43:18 +02:00
errors.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
evaluation.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
managed-resources.md Refactor methods of Managed_Resource (#3460) 2022-05-18 17:27:42 +00:00
modules.md Implement part of the Enso lexer in rust (#1109) 2020-08-27 13:27:22 +01:00
numbers.md Decimal Numbers (#1146) 2020-09-15 15:05:21 +02:00
README.md Support on_problems=Problem_Behavior.Report_Warning and Map_Error wrapping in Vector.map (#8595) 2024-01-16 09:36:22 +00:00
scoping.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00
tail-call-optimization.md Opt-in TCO (#1219) 2020-10-15 16:52:26 +02:00
wrapped-errors.md Support on_problems=Problem_Behavior.Report_Warning and Map_Error wrapping in Vector.map (#8595) 2024-01-16 09:36:22 +00:00

layout title category tags order
section-summary Enso's Semantics semantics
semantics
readme
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.
  • Wrapped 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.