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

36 lines
1.3 KiB
Markdown

---
layout: section-summary
title: Enso's Semantics
category: semantics
tags: [semantics, readme]
order: 0
---
# Enso's Semantics
Much like we have specifications for the [syntax](../syntax/README.md) and the
[type system](../types/README.md) 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:**](./bindings.md) The semantics of Enso's binding expressions.
- [**Diagnostics:**](./diagnostics.md) The semantics of Enso's executable
compiler diagnostics.
- [**Dispatch:**](./dispatch.md) The semantics of Enso's dispatch system.
- [**Errors:**](./errors.md) The semantics of Enso's various error systems.
- [**Wrapped Errors:**](./wrapped-errors.md) The semantics of Enso's various
error systems.
- [**Evaluation:**](./evaluation.md) Enso's evaluation semantics, including
those of suspended computations.
- [**Modules:**](./modules.md) The semantics of Enso's modules.
- [**Scoping:**](./scoping.md) Enso's scoping and identifier resolution rules.
- [**Encapsulation:**](./encapsulation.md) The semantics of Enso's encapsulation
system - access restriction.