-
Notifications
You must be signed in to change notification settings - Fork 323
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
Enso builtins don't expose Enso methods #11589
Comments
The following test obviously fails: Lines 41 to 51 in f9a00c6
Interop protocol for Atom changed recently in #11217 and its enso/engine/runtime/src/main/java/org/enso/interpreter/runtime/data/atom/Atom.java Lines 156 to 160 in 04075c5
The obvious solution for this issue is to make the interop protocol for every builtin consistent with the protocol of Atom. More specifically, make these interop messages consistent:
|
Pavel Marek reports a new STANDUP for today (2024-11-29): Progress: - Add a test that collects all the builtin objects, and checks that they expose Enso methods (coverage almost 100%)
|
Pavel Marek reports a new STANDUP for today (2024-12-04): Progress: - Increased test coverage - also try to invoke some methods on the builtin types.
|
Pavel Marek reports a new STANDUP for the provided date (2024-12-09): Progress: - Encountered a regression in not functional benchmarks - #11808
|
Pavel Marek reports a new STANDUP for today (2024-12-11): Progress: - Found the reason why tests are failing and created a minimal reproducer
|
Pavel Marek reports a new STANDUP for today (2024-12-12): Progress: - Struggling with the blocker #11835
|
Pavel Marek reports a new STANDUP for today (2024-12-13): Progress: - Review of #11850
|
Pavel Marek reports a new STANDUP for today (2024-12-16): Progress: - Found out the bug that causes Invalid polyglot layer sharing assertion errors - #11861 (comment)
|
Pavel Marek reports a new STANDUP for today (2024-12-17): Progress: - Adding debugging info when current context is different than the one in the cached value.
|
No, they cannot be shared. Each
Right, how? I'd like to know the answer too. Preferably without me using the debugger. |
@JaroslavTulach Answer provided in #11861 (comment) |
Pavel Marek reports a new STANDUP for today (2024-12-23): Progress: - Integrate some review feedback.
|
This PR is separated from #11589. It only introduces [BuiltinObject](https://github.com/enso-org/enso/blob/8feab15290c45a485815619972a93ab69f34e78a/engine/runtime/src/main/java/org/enso/interpreter/runtime/builtin/BuiltinObject.java), a common supertype for all the builtin types. It does not change any behavior. `BuiltinObject` defines `hasMetaObject`, `getMetaObject`, `hasType` and `getType` messages, so they no longer have to be implemented in subclasses. # Important Notes - Introduce also test [BuiltinsJavaInteropTest](https://github.com/enso-org/enso/blob/0d92891b8eecd3071f0f4f1d8c55524b637d14a8/engine/runtime-integration-tests/src/test/java/org/enso/interpreter/test/builtins/BuiltinsJavaInteropTest.java) - Builtin annotation processor [enforces](1fe2f3e) that every builtin class extend `BuiltinObject` class.
This PR is separated from #11589. It only introduces [BuiltinObject](https://github.com/enso-org/enso/blob/8feab15290c45a485815619972a93ab69f34e78a/engine/runtime/src/main/java/org/enso/interpreter/runtime/builtin/BuiltinObject.java), a common supertype for all the builtin types. It does not change any behavior. `BuiltinObject` defines `hasMetaObject`, `getMetaObject`, `hasType` and `getType` messages, so they no longer have to be implemented in subclasses. # Important Notes - Introduce also test [BuiltinsJavaInteropTest](https://github.com/enso-org/enso/blob/0d92891b8eecd3071f0f4f1d8c55524b637d14a8/engine/runtime-integration-tests/src/test/java/org/enso/interpreter/test/builtins/BuiltinsJavaInteropTest.java) - Builtin annotation processor [enforces](1fe2f3e) that every builtin class extend `BuiltinObject` class.
Quite surprisingly Enso builtins don't expose Enso methods to
org.graalvm.polyglot.Value
. That results in quite surprising situations:Ref.get
: https://github.com/enso-org/enso/pull/11577/files#r1848224116File.path
on EnsoFileto_text
onVector
- discovered while working on Warnings displayed aftermain
exit do not use definedto_text
#11569Looks like Enso builtin types do not expose their Enso methods to
org.graalvm.polyglot.Value
. Let's writeValuesGenerator
based test and verify all Enso builtins expose their (public) Enso methods properly.The text was updated successfully, but these errors were encountered: