Hey folks,
We've revised the proposal again. The main difference: You no longer need an
initial newline to enable indentation stripping, and stripping no longer
removes that newline even if it is present. (Adrian Zubarev and I believe some
others argued for this.) We disagreed with this at first, but it made more
sense as we thought about it more. There are a few things we like about it:
1. The rules and algorithm are simpler.
2. It accommodates more coding styles.
3. Every non-escaped newline in the literal now creates a corresponding
newline in the resulting string.
4. it's easy to get the old behavior back by backslashing the leading
newline.
Unfortunately, I think this precludes stripping the trailing newline by
default, but I think this is ultimately a simpler and better approach than the
previous draft.
Other changes:
* We realized we needed to make closing delimiter matching a little
more complicated if we wanted to allow one or two adjacent double-quote
characters that were part of the literal's contents. Oops.
* Tabs aren't actually allowed in ordinary string literals, so we now
explicitly mention that as a difference between the two types.
* We wrote some tests for the prototype (though they haven't been
updated for this new version yet).
* There were some other wording changes, particularly in the
indentation stripping rationale, but nothing that affects the actual design.
I understand John is working on a new version of his toolchain so people can
play with the prototype. We hope to have that ready for you all soon.
Let us know what you think of the revisions!
--
Brent Royal-Gordon
Architechies
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution