2020-05-15 13:41:26 +03:00
|
|
|
---
|
|
|
|
layout: developer-doc
|
|
|
|
title: Diagnostics
|
|
|
|
category: semantics
|
|
|
|
tags: [semantics, diagnostics, runtime]
|
|
|
|
order: 2
|
|
|
|
---
|
|
|
|
|
|
|
|
# Diagnostics
|
2020-07-21 15:59:40 +03:00
|
|
|
|
2020-05-15 13:41:26 +03:00
|
|
|
Due to the highly interactive and always-online nature of a running Enso
|
|
|
|
program, it is very important that compile diagnostics (such as lints, errors,
|
2020-07-21 15:59:40 +03:00
|
|
|
and warnings) are surfaced in the _running_ language. This is particularly
|
2020-05-15 13:41:26 +03:00
|
|
|
important for visual mode.
|
|
|
|
|
|
|
|
To this end, Enso provides mechanisms by which diagnostics are scoped to the
|
|
|
|
smallest possible program component, and are even translated into executable
|
|
|
|
nodes in the interpreter so that they can be interacted with at runtime.
|
|
|
|
|
|
|
|
<!-- MarkdownTOC levels="2,3" autolink="true" -->
|
|
|
|
|
|
|
|
- [Warnings at Runtime](#warnings-at-runtime)
|
|
|
|
- [Errors at Runtime](#errors-at-runtime)
|
|
|
|
|
|
|
|
<!-- /MarkdownTOC -->
|
|
|
|
|
|
|
|
## Warnings at Runtime
|
|
|
|
|
|
|
|
> The actionables for this section are:
|
2020-07-21 15:59:40 +03:00
|
|
|
>
|
2020-05-15 13:41:26 +03:00
|
|
|
> - Specify how warnings behave at runtime.
|
|
|
|
|
|
|
|
## Errors at Runtime
|
|
|
|
|
|
|
|
> The actionables for this section are:
|
2020-07-21 15:59:40 +03:00
|
|
|
>
|
2020-05-15 13:41:26 +03:00
|
|
|
> - Specify how errors behave at runtime.
|
|
|
|
> - Talk about their limited scope and how they can be interacted with at
|
|
|
|
> runtime.
|