-
Notifications
You must be signed in to change notification settings - Fork 215
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
Declare many of our remotables #2178
Conversation
a9474e0
to
bb743c0
Compare
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.
Take my comments with a grain of salt, but eliminating typecasts is my main goal.
734b85c
to
2d3d901
Compare
Hi @michaelfig this is now ready for review. Thanks. |
This is now blocked on #2207 which explains the three failures reported by CI. |
Hi @michaelfig I made a lot of changes since you approved. Could you review again? Thanks. |
8ad59d5
to
fc8a9a1
Compare
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.
A lot of these labels seem not to be strictly necessary, as they are not empty objects. Is there a reason to add them all?
Otherwise, LGTM.
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.
This is not what I was expecting. I had, perhaps mistakenly, framed the problem as "empty objects are treated as presences rather than data, which makes them dangerous when they are actually data" and I assumed the fix was to change serialization to always treat empty objects as data unless explicitly declared otherwise. Making this change requires us to first label all the empty objects that are currently being used as presences (mainly as identity markers, if I understand correctly), which is what I thought you were doing. This is why I was surprised to hear that there were many cases of things that needed to be so declared in SwingSet, since it doesn't (as best I can recall) make much, if any, use of the empty-object-passed-for-its-identity pattern. But here I see this PR declaring lots of Remotable
s that are not empty objects, which, while it might eventually be useful from a documentary perspective, seems unrelated to the underlying problem I thought we were trying to fix. Instead, it seems like we're just adding a lot of boilerplate noise with little payoff.
Also, I think the word "Alleged" as used here has jumped the shark. If all Remotable
types are alleged types (are they?), then labelling each one as such is empty ceremony -- it takes up space but the reader's brain learns to ignore it since it conveys no new information.
b8441cd
to
3c22937
Compare
Ok @FUDCo , responded as we discussed. Ready for your rereview. Thanks. |
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.
That's nicer.
To help track down the mysterious missing
iface
strings.To make progress on #804
To make progress on #2018