Skip to content
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

Runtime Introspection #571

Closed
22 of 26 tasks
iamrecursion opened this issue Aug 27, 2019 · 0 comments
Closed
22 of 26 tasks

Runtime Introspection #571

iamrecursion opened this issue Aug 27, 2019 · 0 comments
Assignees
Labels
-tooling Category: tooling

Comments

@iamrecursion
Copy link
Contributor

iamrecursion commented Aug 27, 2019

Summary

The main selling point of Enso and Enso Studio is the language's interactivity. However, enabling this interactivity requires deep runtime support for introspection of running code. This allows the GUI to obtain values and type information to display to users, but also allows for the implementation of more complex functionality such as debuggers and a REPL.

Value

Without the support for runtime introspection it is impossible to provide the promised Enso GUI, so this is inherently very necessary.

Specification

The following elements are presented in order as a plan for the introspection functionality into the interpreter in a way that allows it to take place in parallel with the work on the new syntax (#806). Each of these phases should not break interpreter behaviour on master. Additionally, it is very important that the runtime and the engine only talk via org.graalvm.polyglot. There should never be an explicit runtime dependency on runtime by either gateway or language_server.

Acceptance Criteria & Test Cases

  • The above requirements have been met.
  • They have been rigorously tested, and are accompanied by benchmarks designed to detect regressions.
@iamrecursion iamrecursion transferred this issue from another repository Jun 23, 2020
@joenash joenash added Epic -tooling Category: tooling labels Jun 23, 2020
@wdanilo wdanilo closed this as completed Apr 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-tooling Category: tooling
Projects
None yet
Development

No branches or pull requests

6 participants