enso/docs/semantics/README.md
GregoryTravis f2cb1f097e
Support on_problems=Problem_Behavior.Report_Warning and Map_Error wrapping in Vector.map (#8595)
Implements `Warnings.get_all wrap_errors=True` which wraps warnings attached to values inside vectors with `Map_Error`, which includes the position of the value within the vector. See [the documentation](https://github.com/enso-org/enso/blob/develop/docs/semantics/wrapped-errors.md) for more details.

`get_all wrap_errors=True` does not change the warnings that are attached to values -- it wraps them before returning them to the caller, but does not change the original warnings attached to the values.

Wrapped warnings only appear attached to the vector itself. The values inside the vector do not have their warnings wrapped.

Warning propagation is not changed at all; `Warnings.get_all` (with default `wrap_errors=False`) behaves as before. `get_all wrap_errors=True` is meant to be used primarily by the IDE, although it can be used anywhere this wrapping is desired.
2024-01-16 09:36:22 +00:00

1.3 KiB

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.