mirror of
https://github.com/enso-org/enso.git
synced 2024-12-25 03:43:41 +03:00
96e50648dd
Modified UppercaseNames to now resolve methods without an explicit `here` to point to the current module. `here` was also often used instead of `self` which was allowed by the compiler. Therefore UppercaseNames pass is now GlobalNames and does some extra work - it translated method calls without an explicit target into proper applications. # Important Notes There was a long-standing bug in scopes usage when compiling standalone expressions. This resulted in AliasAnalysis generating incorrect graphs and manifested itself only in unit tests and when running `eval`, thus being a bit hard to locate. See `runExpression` for details. Additionally, method name resolution is now case-sensitive. Obsolete passes like UndefinedVariables and ModuleThisToHere were removed. All tests have been adapted. |
||
---|---|---|
.. | ||
language-server | ||
launcher/src | ||
polyglot-api/src | ||
runner | ||
runtime | ||
runtime-instrument-id-execution/src/main/java/org/enso/interpreter/instrument | ||
runtime-instrument-repl-debugger/src/main/java/org/enso/interpreter/instrument | ||
runtime-instrument-runtime-server/src/main/java/org/enso/interpreter/instrument | ||
runtime-language-epb/src/main/java/org/enso/interpreter/epb | ||
runtime-with-instruments/src/test | ||
README.md |
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.