JDK-8227870 - Escape Sequences For Line Continuation and White Space (Preview)
Jim Laskey
james.laskey at oracle.com
Mon Sep 30 16:00:10 UTC 2019
> On Sep 30, 2019, at 12:50 PM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
>
>
>
> On 30/09/2019 16:36, Jim Laskey wrote:
>> In line.
>>
>>> On Sep 30, 2019, at 12:29 PM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com <mailto:maurizio.cimadamore at oracle.com>> wrote:
>>>
>>> Hi,
>>> in general I see where the enhancements are coming from - but I do have some comments.
>>>
>>> One is pedagogical; I think a world where single line strings are denoted by a single double quote, whereas multi line strings are denoted by triple double quotes is a relatively wimple world for the user to grok. This proposal effectively blurs the line between the two variants, as now you can (in the degenerate case where all lines in a text block ends with '\') express a single line string with a text block syntax - which I understand is the part of the goal, but...
>>
>> And String s = "aa\nbb\ncc\n" is truly single line? I think they are just the same thing wearing different clothes.
> I see where you are coming from. While I'm not necessarily opposed, I'd be curious to see if this add-on would have repercussions on how the text block feature is reasoned about by programmers, especially ones coming to Java for the first time.
>>
>>>
>>> The other perplexity is on the use of \s with text blocks; I don't get why the output in your example ends up being:
>>>
>>> red<one space><new line>green<one space><new line>blue<one space><blue line>
>>>
>>> Why is the space at the left of the '\s' being ignored? In fact, '\s' is the _only_ thing you can put in that place that will cause the previous space to be ignored and dropped on the floor, which makes me uncomfortable. I think that, to get the output you want, '\s' should be close to the end of red/green/blue - if, on the other hand, if you add space and _then_ you add a '/s', I don't think we should treat this differently from adding space and then some _random_ character - in which case all the space in between will be preserved.
>>
>> This is a readability issue in the edits. It's actually "red....\ngreen..\nblue...\n". I'll fix.
> Phew :-)
>
> Question - can `/s` appear _before_ the end of a line in a text block? If so, what happens?
>
It's just another representation of space, i.e., a space (U+0020) is inserted.
> Maurizio
>
>>
>>>
>>> Maurizio
>>>
>>>
>>> On 30/09/2019 12:45, Jim Laskey wrote:
>>>> During the discussion on Text Blocks, several of you stated a need for a line continuation construct. I have since created a CSR to propose the creation of two new escape sequences: \<line terminator> and \s.
>>>>
>>>> https://bugs.openjdk.java.net/browse/JDK-8227870 <https://bugs.openjdk.java.net/browse/JDK-8227870>
>>>>
>>>>
>>>> Please review and comment here.
>>>>
>>>> Cheers,
>>>>
>>>> -- Jim
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/amber-spec-experts/attachments/20190930/056b2ace/attachment.html>
More information about the amber-spec-experts
mailing list