-
-
Notifications
You must be signed in to change notification settings - Fork 453
Closed
Description
Description
Allow simple escaping of backticks in string literals using backticks. Example expression:
let myConst = `
This string contains a single backtick: ``
`;
someVar == myConst
Why
- Improve ergonomics
- Very simple to implement
- Backward compatible: it doesn't break anything
- Known pattern for escaping. Used e.g. in CSV (e.g.
"field 1","field "" 2"
), SQL ('It''s fine'
), YAML ('It''s fine'
), etc. - Code generation use case:
- Currently, every other literal can be used in code generation except for strings. With this approach, one can generate code for an expression and use strings.ReplaceAll(src, "`", "``") to interpolate a string constant. This would make generated code very performant and efficient.
- Especially useful if: (1) the environment is a fixed struct with very few variables; (2) an expression needs to be generated and will be executed many times in a tight loop; (3) there can be one or many constant string values and adding them to the environment can be impractical or incur in performance costs.
Adding a reference PR with the implementation and tests: #820
Metadata
Metadata
Assignees
Labels
No labels