-
Notifications
You must be signed in to change notification settings - Fork 327
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
invokeMember
should behave the same as readMember.execute
#12589
invokeMember
should behave the same as readMember.execute
#12589
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I understand your PR correctly, you basically ensure that if we read at atom method member via interop, we get a method that has the self
preapplied. This kind of makes sense. Note however, that the intended contract for atom members, is that all methods are internal members. So I am wondering why does GraalPy read our internal Atom members?
...ntime-integration-tests/src/test/java/org/enso/interpreter/test/interop/AtomInteropTest.java
Outdated
Show resolved
Hide resolved
engine/runtime/src/main/java/org/enso/interpreter/runtime/data/atom/Atom.java
Outdated
Show resolved
Hide resolved
The best is to ask the authors, but ...
...as far as I see by looking into sent messages there is no call to However, according to the java of isMemberInternal:
We certainly want GraalPy to invoke methods on Enso objects. Thus either:
It is doesn't really matter if GraalPy uses |
Pull Request Description
Turns out new version of GraalPy uses
readMember . execute
insteadinvokeMember
. The silent assumption is that these two approaches yield the same result. That wasn't the case inAtom
so far. This PR fixes that by bindingself
to a function returned fromreadMember
interop message.Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,