Multiline string literals
Ruslan Shevchenko
ruslan at shevchenko.kiev.ua
Sat Aug 6 13:30:14 PDT 2011
1. Last submission: 1.4 for multiine string literals is
http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000747.html
which in many aspects differ from first version.
Also, I maintain 'post-morten' final version:
https://docs.google.com/Doc?docid=0AX56ZsgNVurJZGhodmdncjhfMjFncjVzNGZoZw
which can be used as starting point, if Oracle decide to receive
proposals about language direction from external world with reopening
or creation of some analog of project coin. [my estimation for
probability of such case is not very hight.]
2. In general, this proposal describe multiline strings as they
implemented in scala and groovy now. One problem with this: """ are
IDE-unfriendly: complexity of implementing mulitline string support
for groovy in netbeans shows this.
So, now I think that """" symbols in proposal is better change to
pair of "( )" (and '( )' for row string literals), simular
to brackets for multiline string literals in C++0x
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
Regards !
On Sat, Aug 6, 2011 at 6:12 PM, Per Bothner <per at bothner.com> wrote:
> On 08/06/2011 03:41 AM, Peter Reilly wrote:
>> Now that jdk7 is released and there will shortly be a process for
>> asking for new small features in jdk8, I would like to ask that
>> support for multiline string literals be considered.
>>
>> This is a long standing request and a specific proposal is contained in:
>>
>> http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000087.html
>
> I think it would be a mistake for multiline string literals to have
> the ending delimiter be the same as the starting delimiter. It seems
> lie it would make things more difficult for IDEs. Using """ also seems
> prone to syntax errors with possibly-confusing error messages. And it makes
> it harder to scan the text (visually or with tools) for matching delimiters.
>
> I also think this is a questionable idea:
>
> String platformDepended="""q
> """;
> is 'q\n' if compiled on Unix and 'q\n\r' if compiled on Windows.
>
> This make the meaning of a program depend on which platform
> it is compiled on. Probably not something we want. You could
> change it to depend on the program it is *run* on, by defining it
> in terms of line.separator - that would make more sense.
> --
> --Per Bothner
> per at bothner.com http://per.bothner.com/
>
>
More information about the coin-dev
mailing list