Currently, we only have runtime errors.
Having a diagnostics pass which doesn't produce side-effects, evaluates all if branches, etc, would be really nice to report all reportable errors upfront.
To make things faster, maybe we could somehow only run this diagnostics pass when the source file changes.
If we have this, the diagnostics part of the LSP will be made quite easy.
Currently, we only have runtime errors.
Having a diagnostics pass which doesn't produce side-effects, evaluates all if branches, etc, would be really nice to report all reportable errors upfront.
To make things faster, maybe we could somehow only run this diagnostics pass when the source file changes.
If we have this, the diagnostics part of the LSP will be made quite easy.