Any interest in raw strings?

Reinier Zwitserloot reinier at zwitserloot.com
Tue Mar 24 18:31:44 PDT 2009


Because raw strings are only used for regexps (it's so bad that people  
think the 'r' in python's raw string syntax stands for regexp and not  
raw), I suggested a while ago, on a different forum, to support regexp  
literals, which would even get the benefit of compile-time checking  
the regexp (there are a few things which are neccessarily a bad reg- 
exp, such as mismatched parentheses), and possibly the compile-time  
generation of the regexp literal to a regexp Thompson's tree, which  
takes relatively long to build, but once built, can parse any string  
through the regexp in O(n), where n is the length of the string.

Back then there were some admittedly rare use-cases for raw strings  
(including concatenating a regexp with a variable, which you couldn't  
do with regexp literals), but there was no consensus on whether raw  
strings, or regexp literals (or possibly both) were a good idea.

I'd love me some raw (and multiline) strings, but this stuff is a bit  
too tricky to sort out now, a month or two before java7RC1.

  --Reinier Zwitserloot



On Mar 25, 2009, at 00:58, Vilya Harvey wrote:

> Ah, I had a feeling I might have missed something. It looks like  
> you've
> already covered everything I wanted to write up and more! I think  
> multiline
> strings would be a useful addition too; it seems a shame that it  
> won't be
> included in the Coin changes.
>
> Cheers,
> Vil.
>
>
> 2009/3/24 <rssh at gradsoft.com.ua>
>
>>> Hi all,
>>>
>>> I don't think I've seen a proposal for raw strings - string literals
>> which
>>> ignore escape sequences - yet. Would there be enough interest to  
>>> write
>>> this
>>> up as a proposal?
>>>
>>> The idea is stolen shamelessly from Python, where you can write a  
>>> raw
>>> string
>>> as r"[\n\r\t]" and it's equivalent to the normal string "[\\n\\r\ 
>>> \t]"
>>> (i.e.
>>> you don't need to double the backslash in a raw string, it's just  
>>> treated
>>> like any other character). This is most useful when writing regular
>>> expressions; in fact, it may *only* be useful then. But for that  
>>> one case
>>> it
>>> is extremely handy.
>>>
>>> Any opinions?
>>>
>>
>> It was part of my enhanched string proposal
>>  http://redmine.gradsoft.ua/wiki/java7stringliterals
>>
>> If creating new proposal only for unescaped strings (without  
>> multiline)
>> can help (ask Darcy) -- than submit one. It woud be better than  
>> nothing.
>>
>>> Vil.
>>>
>>>
>>
>>
>>
>




More information about the coin-dev mailing list