-
Notifications
You must be signed in to change notification settings - Fork 326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow access to caches and instrumentation from Enso #7683
Comments
Making
|
Making Language Server Part of the IDEIn the light of #7692 discussion and to solve the #7639 problems, let's consider following: Let's repackage current implementation of language server as Enso library! What problem this addresses?Currently the language server is bundled together with the Enso engine in By packaging the language server implementation as an Enso library What is Needed?
|
We already ship IDE with the project manager. We should package the language server with IDE instead of downloading it. |
As part of investigation of #7683, let's make `IdExecutionEventNode` smaller by having a reference to factory and its fields.
Jaroslav Tulach reports a new STANDUP for yesterday (2023-10-05): Progress: - more robust instrumentor: 6352d53
Next Day: Bugfixing, websocket polyfill
|
Jaroslav Tulach reports a new STANDUP for yesterday (2023-10-06): Progress: - META-DATA fighting: #7989
Next Day: Bugfixing, websocket polyfill |
Exposing instrumentation capabilities to Enso. Fixes #7683.
There are various issues related to current implementation of language server:
While thinking about these issues I concluded that it would be better expose the core of runtime caching & instrumentation functionality to Enso programs and use it from visualizations. The plan is to create a builtin type that would allow instrumentation of certain nodes and registration of functions to receive a callback when a node or expression evaluation is started and finished. The callback would receive the actual values flowing thru the program and could control (invalidate) the runtime cache whenever needed.
Exposing these caching & instrumentation functionality would create simple, low-level API that could easily be used to emulate the current behavior and even more easily expand it when needed. Caching & instrumentation related activities shall be as simple as writing a visualization.
We need to spend some time and investigate whether this is a viable approach. Prior work however indicates this is doable and fully functional. There is GraalVM Insight which exposes the instrumentation capabilities to scripting language. We know that GraalVM Insight works with Enso, however following should be investigated:
Tasks
The text was updated successfully, but these errors were encountered: