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
Failure of .perl.EVAL round-tripping. Range.perl is assuming that the
.perl of its endpoints will have higher precedence than what Pair.perl
actually provides. One or other of them needs to parenthesise the Pair
expression to be embedded in the Range expression.
Bigger picture: for .perl methods to work together, there needs to be
agreement on precedence and other features of the expression returned by
.perl. It needs to be clear whose responsibility it is to parenthesise
expressions in each case. Currently the documentation doesn't say
anything about this. It ought to specify some precedence level that
the expression will satisfy. Any .perl generating a looser expression
needs to parenthesise its output; any .perl requiring a tighter operand
expression needs to parenthesise the .perl that it gets from its operand.
Some unfortunate cases will get double parenthesisation or unnecessary
single parenthesisation; this can be minimised by careful selection of
the API precedence level. (To avoid unnecessary parenthesisation entirely
would require explicitly signalling the precedence of each expression.)
Migrated from rt.perl.org#129013 (status was 'new')
Searchable as RT129013$
The text was updated successfully, but these errors were encountered: