You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Semantically super and super() are different semantically. It also feels awkward to check whether there is an opening token to know which one it is. Adding ZSuperNode wil not only not have tokens for parens it will also not have any arguments or a block.
The text was updated successfully, but these errors were encountered:
Aside: it'd be pretty cool if YARP could desugar a zsuper into a regular super for execution purposes, i.e. desugar def m(a, b); a *= 2; super; end into def m(a, b); a *= 2; super(a, b); end.
IIRC that's the correct semantics for zsuper.
That would save Ruby implementations to have to do it themselves which is quite messy (IMO).
It'd a bit tricky if some arguments are unnamed, but those could probably still be encoded in some way (e.g. * could be named *, simply).
Not sure if this would be easy to do in YARP though.
Semantically
super
andsuper()
are different semantically. It also feels awkward to check whether there is an opening token to know which one it is. Adding ZSuperNode wil not only not have tokens for parens it will also not have any arguments or a block.The text was updated successfully, but these errors were encountered: