Yes, because when I said “these are for the later part of the discussion, we’re going to leave it to sit until then”, what I meant of course was “please post your opinions on it now”…
> On Apr 6, 2019, at 11:52 AM, Remi Forax <fo...@univ-mlv.fr> wrote: > > I lke the r prefix because most people think the r prefix means regular > expression. > > Rémi > > De: "Brian Goetz" <brian.go...@oracle.com> > À: "amber-spec-experts" <amber-spec-experts@openjdk.java.net> > Envoyé: Samedi 6 Avril 2019 17:47:25 > Objet: Fwd: String reboot (plain text) > Received on amber-spec-comments. These are mostly comments on syntax options > that are for later parts of the discussion, so I’m reading them into the > record now, and we’re going to leave them to sit until then. > > High-order summary: > - Please consider prefixes a”…” for auto-align and r”…” for raw. > > Begin forwarded message: > > From: Stephen Colebourne <scolebou...@joda.org <mailto:scolebou...@joda.org>> > Subject: Re: String reboot (plain text) > Date: March 21, 2019 at 11:14:53 AM EDT > To: amber-spec-comme...@openjdk.java.net > <mailto:amber-spec-comme...@openjdk.java.net> > Cc: Brian Goetz <brian.go...@oracle.com <mailto:brian.go...@oracle.com>> > > On Wed, 13 Mar 2019 at 17:52, Brian Goetz <brian.go...@oracle.com > <mailto:brian.go...@oracle.com>> wrote: > So, in the spirit of “keep ordering until sated, but stop there”, here are > some reasonable choices. > > 1. Do multi-line (escaped) strings with a “”” fixed delimiter. Large > benefit, small cost. Most embedded snippets don’t need any escaping. Low > cost, big payoff. > > 1a. Do 1, but automatically reflow multi-line strings using the equivalent > of String::align. There have been reasonable proposals on how to do this; > where they fell apart is the interaction with raw-ness, but if we separate ML > and raw, these become reasonable again. Higher cost, but higher payoff; > having separated the interaction with raw strings, this is more defensible. > > 2. Do (1) or (1a), and add: single-line raw string literals delimited by > \”…”\. > > 2a. Do (1) or (1a), and also support multi-line raw string literals (where > we _don’t_ automatically apply String::align; this can be done manually). > Note that this creates anomalies for multi-line raw string literals starting > with quotes (this can be handled with concatenation, and having separated ML > and raw, this is less of a problem than before). > > 3. Do (2) and (2a), and also support a repeating compound delimiter with > multiple backslashes and a quote. > > My views have not changed dramatically from my last mail [1]. As per > these options, I think the language would benefit from 1, 1a, 2 and 2a > type changes. I think the choice between 1 and 1a is a false one. I'm > not convinced 3 is worth pursuing. > > I agree that triple double-quote is the right mechanism for multi-line > strings - an obvious direction for Java. I'm happy to accept 1 on its > own *providing that 1a can be added later*. My preference is for """ > to be the delimiter for non-aligned multi-line strings, and for a > single letter prefix 'a' to be used for aligned strings, eg. a""" ... > """ > > For raw strings I personally find the syntax /" ... "/ or /""" ... > """/ unpleasant. While the argument of "distributing the escape over > the string" makes some sense in the abstract, the result is not > appealing to read. Given that I believe aligned and non-aligned > strings should be separated by a single letter prefix, I believe that > raw strings and non-raw strings should also be separated by a single > letter prefix: > > """ - multi-line with-escapes & non-aligned > a""" - multi-line with-escapes & aligned > r""" - multi-line raw & non-aligned > ra""" - multi-line raw & aligned > " - single-line with-escapes > r" - single-line raw > > And yes, I do think you can have raw and aligned as a combination. I > think using prefix letters is more extensible, more orthogonal and > clearer than using /""" ... """/. > > thanks > Stephen > > [1] > https://mail.openjdk.java.net/pipermail/amber-dev/2019-January/003850.html > <https://mail.openjdk.java.net/pipermail/amber-dev/2019-January/003850.html> > >