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

Changes to @endo/pass-style and up likely needed for ocapn conformance. #1587

Open
1 of 6 tasks
erights opened this issue May 16, 2023 · 6 comments
Open
1 of 6 tasks
Assignees
Labels
kriskowal-reviewed-2024-01 Issues that kriskowal is satisfied do not need attention from team bug review as of January, 2024 ocapn

Comments

@erights
Copy link
Contributor

erights commented May 16, 2023

Repeating here the contents of ocapn/ocapn#5 (comment) . Please please also look at that message in context.

Taking inventory [of possible ocapn agreement] from Agoric's POV. From the thread above starting at ocapn/ocapn#5 (comment) , which is essentially that message plus the later nits raised above + the separate error thread at ocapn/ocapn#10 , I believe Agoric's current implementations are already in complete conformance with everything but the following:

Anything else?

Taken together, these are not trivial. But these remaining issues are tiny compared to what we agree on and what Agoric already implements correctly. I suggest that this already-implemented subset is sufficiently expressive that we can start to do some real interoperability experiments immediately.

@zenhack
Copy link

zenhack commented May 17, 2023

Minor note of clarification, the #10 links should point to ocapn/ocapn#10; wrong repo.

@erights
Copy link
Contributor Author

erights commented May 17, 2023

Corrected, thanks!

@erights
Copy link
Contributor Author

erights commented Jun 7, 2023

At the @endo/exo level, we (Agoric) describe the interface of an exo object with an interface guard that contains a methodGuards copyRecord with one property per exo method, where the property name is the same as the method name. However, copyRecords can only have string-named properties. In order for interface guards to be able to describe symbol-named methods, we’d have to extend them with some much less natural encoding.

@erights
Copy link
Contributor Author

erights commented Jun 8, 2023

#1602

@erights
Copy link
Contributor Author

erights commented Aug 27, 2023

Re #1587 (comment) above

Reported at #1728

Fixed by @gibson042 at #1740

@erights
Copy link
Contributor Author

erights commented Aug 27, 2023

we’d have to extend them with some much less natural encoding.

I was too pessimistic above. @gibson042 used a CopyMap, which in our system is a perfectly natural encoding. Enough so that if we had not started with a CopyRecord for the string-named methods, we might have put them all into that CopyMap. Oh well.

@kriskowal kriskowal added the kriskowal-reviewed-2024-01 Issues that kriskowal is satisfied do not need attention from team bug review as of January, 2024 label Jan 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kriskowal-reviewed-2024-01 Issues that kriskowal is satisfied do not need attention from team bug review as of January, 2024 ocapn
Projects
None yet
Development

No branches or pull requests

3 participants