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