Oh right, that's fair enough. I think the indentation/escaping issues can
be fixed however the new line issues you mentioned will still exist for
strings split over multiple lines using this syntax.

Good luck!

Steven

On Monday, September 23, 2013, Kevin Ballard wrote:

> Heredocs are primarily intended for multiline strings. Raw strings are
> intended for strings that have no escapes. Raw strings typically allow
> newlines, but that is not their primary purpose (and in Rust, regular
> strings allow newlines anyway). Trying to use a heredoc syntax for raw
> strings is just a headache (because of indentation, and dealing with the
> first and/or trailing newline in the heredoc).
>
> -Kevin
>
> On Sep 22, 2013, at 11:52 AM, Artem Egorkine <art...@gmail.com> wrote:
>
> I must be missing something about ruby heredocs, but the indentation had
> always been a painful question about them (
> http://stackoverflow.com/questions/3772864/how-do-i-remove-leading-whitespace-chars-from-ruby-heredoc).
> Another thing, of course, it's that they are by no means raw (which of
> course doesn't stop rust from adopting their syntax for raw strings. I
> would just say that it would be nice to pick such syntax for raw strings
> that allows for both single line raw strings and multi-line raw strings to
> be represented easily.
> On Sep 22, 2013 1:00 PM, "Steven Ashley" <ste...@ashley.net.nz> wrote:
>
>> Hi everyone,
>>
>> Have we considered syntax similar to Ruby style heredocs? I particularly
>> like the light looking syntax.
>>
>> - The indentation of the block is determined by the indentation of the
>> eos marker. Keeping code flow natural.
>>
>> <<eos
>>     Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
>> eiusmod tempor
>>     incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
>> quis nostrud
>>     eos
>>
>> - Brackets in the eos marker are flipped to allow <<[[[raw]]]
>>
>> - eoseos causes a literal eos to be inserted. For example <<"a ""raw""
>> string"
>>
>> My main concern is that << might be a common operator. Perhaps <<< would
>> be ok?
>>
>> Thoughts?
>> On 21/09/2013 4:28 AM, "Alex Crichton" <a...@crichton.co> wrote:
>>
>>> > Of the 3, Lua's is probably the best, although it's a bit esoteric
>>> (with
>>> > using [[ and nary a quote in sight).
>>>
>>> I think an important thing to keep in mind is that the main reason
>>> behind creating a new form of literal is for things like:
>>>
>>> * Escapes in format! strings
>>> * Possible regular expression syntax (this also may be a syntax
>>> extension)
>>> * Type literal windows paths (escaping \ is hard)
>>> * Otherwise long literals which may contain quotes (like html text)
>>>
>>> With those in mind, although Lua's syntax is sufficient, is it nice to
>>> use? If the first thing I saw as an introduction to Rust was:
>>>
>>> fn main() {
>>>   println!([[Hello, {}!]], "world");
>>> }
>>>
>>> I would be a little confused. Now the [[/]] aren't really necessary in
>>> this case, but I'm personally unsure of how usable [[/]] would be
>>> throughout the language. Raw literals in languages like C++ and Lua I
>>> think aren't intended to be used that often. Instead they should be
>>> used only when necessary, and you frequently don't see them in code.
>>> For rust, the use cases which are the cause of this discussion are
>>> actually fairly common, and I'm not sure that we'd want to see [[/]]
>>> all over the place, although of course that's just my opinion :)
>>>
>>> Skimming back, I haven't seen a suggestion of the backtick character
>>> as a delimiter. Go takes this approach, and I don't believe that in Go
>>> you can have a backtick anywhere in a backtick literal, and otherwise
>>> what you see is what you get. It's at least something to consider,
>>> though.
>>> _______________________________________________
>>> Rust-dev mailing list
>>> Rust-dev@mozilla.org
>>> https://mail.mozilla.org/listinfo/rust-dev
>>>
>>
>> _______________________________________________
>> Rust-dev mailing list
>> Rust-dev@mozilla.org
>> https://mail.mozilla.org/listinfo/rust-dev
>>
>>
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to