enso/engine
Jaroslav Tulach 2973cd2db2
Avoid needless concatenations of warning/error messages (#3465)
While investigating [#182234656](https://www.pivotaltracker.com/n/projects/2539304/stories/182234656) I've noticed that  `GatherDiagnostics` calls `distinctBy` and uses `message` string. However such string has to be composed and that takes time:

![image](https://user-images.githubusercontent.com/26887752/169638644-cf7dd826-1016-402b-842a-fc27a77a64e1.png)

This PR eliminates the need for concatenation by associating each `Diagnostic` with an array of `keys` used to compute `equals` and `hashCode`.
2022-05-24 07:16:36 +02:00
..
language-server Profile the language server (#3389) 2022-05-10 12:44:05 +00:00
launcher/src Profile the language server (#3389) 2022-05-10 12:44:05 +00:00
polyglot-api/src Make it possible to run Enso with assertions enabled (#3450) 2022-05-13 15:38:52 +00:00
runner Profile the language server (#3389) 2022-05-10 12:44:05 +00:00
runtime Avoid needless concatenations of warning/error messages (#3465) 2022-05-24 07:16:36 +02:00
README.md Add a markdown style guide (#1022) 2020-07-21 13:59:40 +01:00

The Enso Engine

The Enso engine is the codebase responsible for compiling and executing Enso code, as well as providing language server functionality to users of the language. It is subdivided into two major components:

  • Language Server: The Enso language service.
  • Polyglot API: The truffle-boundary safe API for communication between the language server and the runtime.
  • Runner: The command-line interface for Enso.
  • Runtime: The compiler and interpreter for Enso.