Skip to content

[PPC0019] - Should it be a sublex? #47

@leonerd

Description

@leonerd

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:

  1. Yield a parse error similar to the ones given in the example above?
  2. Parse as valid perl code yielding a similar result to:
     say 'Is this ', f(")"), ' valid syntax?';
  1. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions