mirror of
https://github.com/enso-org/enso.git
synced 2024-12-24 03:02:30 +03:00
d463a43633
Added a separate pass, `FullyQualifiedNames`, that partially resolves fully qualified names. The pass only resolves the library part of the name and replaces it with a reference to the `Main` module. There are 2 scenarios that could be potentially: 1) the code uses a fully qualified name to a component that has been parsed/compiled 2) the code uses a fully qualified name to a component that has **not** be imported For the former case, it is sufficient to just check `PackageRepository` for the presence of the library name. In the latter we have to ensure that the library has been already parsed and all its imports are resolved. That would require the reference to `Compiler` in the `FullyQualifiedNames` pass, which could then trigger a full compilation for missing library. Since it has some undesired consequences (tracking of dependencies becomes rather complex) we decided to exclude that scenario until it is really needed. # Important Notes With this change, one can use a fully qualified name directly. e.g. ``` import Standard.Base main = Standard.Base.IO.println "Hello world!" ``` |
||
---|---|---|
.. | ||
data | ||
src | ||
package.yaml | ||
README.md |
This is a set of tests for the Base
library for Enso.
The run test suite for the HTTP component requires an active httbin
server on
the localhost. If it is present, the port it listens to should be provided by
setting the ENSO_HTTP_TEST_HTTPBIN_URL
environment variable to a value like
http://localhost:8080
. The URL may contain a trailing slash.
tools/simple-httpbin
provides a simple implementation of httpbin
server. See
its README for instructions on how to run it.