First interesting question: Should qt() strings be sub-lexed, or not..?
I.e. what do people feel -should- be the behaviour of a construction like
sub f { ... }
say qt(Is this { f(")") } valid syntax?);
Should it:
- Yield a parse error similar to the ones given in the example above?
- Parse as valid perl code yielding a similar result to:
say 'Is this ', f(")"), ' valid syntax?';
- Something else?
I feel that interpretation 2 might be most useful and powerful, but would be inconsistent with existing behaviour of existing operators. Interpretation 1 is certainly easier to achieve as it reüses existing parser structures, but given the whole point is to interpolate code inside the {braces} it might lead to weird annoying cases that don't work so well.
Does anyone have any good examples one way or other from other languages that have a similar construction?
(Cross-posted to https://www.nntp.perl.org/group/perl.perl5.porters/2024/01/msg267671.html)
First interesting question: Should
qt()strings be sub-lexed, or not..?I.e. what do people feel -should- be the behaviour of a construction like
Should it:
I feel that interpretation 2 might be most useful and powerful, but would be inconsistent with existing behaviour of existing operators. Interpretation 1 is certainly easier to achieve as it reüses existing parser structures, but given the whole point is to interpolate code inside the
{braces}it might lead to weird annoying cases that don't work so well.Does anyone have any good examples one way or other from other languages that have a similar construction?
(Cross-posted to https://www.nntp.perl.org/group/perl.perl5.porters/2024/01/msg267671.html)