enso/docs/semantics
Pavel Marek 270f708e4f
Implement private methods (#10060)
Add support for private methods. Most of the changes are in parser and compiler. The runtime checking of private functions was already present since #9692

# Important Notes
- Only top-level methods can be declared `private`.
- private method cannot be called from different project
- private method cannot be accessed from polyglot code (private method does not exist for polyglot code)
2024-05-31 08:00:20 +00: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 Implement private methods (#10060) 2024-05-31 08:00:20 +00: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.