In my opinion, one problem is that we don’t have a reference to a laundry or 
wish list of what features we would like around string literals in the 
language. Without evaluating a proposal against all of those features (moves 
forward, doesn’t impact, creates later issues for) it is hard to evaluate.

My guess here at an exhaustive list:

Main goals:
- reduce the impact on readability when dealing with certain kinds of string 
literals
- reduce the amount of editing needed when inserting/referencing text from an 
external source to be used as a string literal

Specific tasks/asks:
- for large string literals, reduce the amount of editing needed to span 
multiple lines
- for strings literals meant to represent multi-line text, allow the visual 
newline to be used rather than an encoding
        (note: this may mean in the first case newlines are considered 
formatting of the literal, while in the second they are considered part of the 
represented text)
- with string literals spanning multiple lines, allow for the author to indent 
the literal to match flow with surrounding code without impacting the 
represented text
- allow for text with double quotes to be represented in a string literal 
without requiring those quotes to be escaped
- have the ability to disable all/most escape interpretation to reduce impact 
on readability of certain text
- take into account that regular expressions, when added, will likely require 
different escaping rules than text string literals

Approach-specific
- if allowing for inline blocks of strings delimited by start/end points e.g. 
here docs, data segments
        - if the block end is on its own line, control whether that newline is 
part of the represented text

-DW
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to