www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - When will D get this feature?

reply Benji Smith <dlanguage benjismith.net> writes:
http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

;-)

--benji
Oct 07 2008
parent reply KennyTM~ <kennytm gmail.com> writes:
Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml
 
 ;-)
 
 --benji

Because of the \ in the source code D can't parse this even if all the template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)
Oct 07 2008
next sibling parent reply "Jarrett Billingsley" <jarrett.billingsley gmail.com> writes:
On Tue, Oct 7, 2008 at 9:56 AM, KennyTM~ <kennytm gmail.com> wrote:
 Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

 ;-)

 --benji

Because of the \ in the source code D can't parse this even if all the template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)

Erm, it is defined. See "escape strings" here: http://www.digitalmars.com/d/1.0/lex.html
Oct 07 2008
parent reply KennyTM~ <kennytm gmail.com> writes:
Jarrett Billingsley wrote:
 On Tue, Oct 7, 2008 at 9:56 AM, KennyTM~ <kennytm gmail.com> wrote:
 Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

 ;-)

 --benji

template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)

Erm, it is defined. See "escape strings" here: http://www.digitalmars.com/d/1.0/lex.html

Oh I see.
Oct 07 2008
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
KennyTM~ wrote:
 Jarrett Billingsley wrote:
 On Tue, Oct 7, 2008 at 9:56 AM, KennyTM~ <kennytm gmail.com> wrote:
 Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

 ;-)

 --benji

template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)

Erm, it is defined. See "escape strings" here: http://www.digitalmars.com/d/1.0/lex.html

Oh I see.

In wake of the recent comments on q{string}, I have the feeling this is a mistake of the same proportion as q{string}. It essentially hijacks "\" for pretty much all uses (lambdas were an idea) for the sake of a feature that is gratuitous and useless. Andrei
Oct 07 2008
next sibling parent reply Ary Borenszweig <ary esperanto.org.ar> writes:
Andrei Alexandrescu wrote:
 KennyTM~ wrote:
 Jarrett Billingsley wrote:
 On Tue, Oct 7, 2008 at 9:56 AM, KennyTM~ <kennytm gmail.com> wrote:
 Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

 ;-)

 --benji

template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)

Erm, it is defined. See "escape strings" here: http://www.digitalmars.com/d/1.0/lex.html

Oh I see.

In wake of the recent comments on q{string}, I have the feeling this is a mistake of the same proportion as q{string}. It essentially hijacks "\" for pretty much all uses (lambdas were an idea) for the sake of a feature that is gratuitous and useless.

Who is using q{} and \n in real code? Why that was introduced? What was the problem with normal string literals?
Oct 07 2008
parent bearophile <bearophileHUGS lycos.com> writes:
Ary Borenszweig:
 Who is using q{} and \n in real code? Why that was introduced? What was 
 the problem with normal string literals?

I don't understand the usefulness of \n instead of '\n', but I think the usefulness of q{} was to have a string that is ast-controlled that the editors don't color uniformly as a string. So I think \n can be removed, but q{} have a purpose, even if they may deserve a better syntax. Bye, bearophile
Oct 07 2008
prev sibling next sibling parent KennyTM~ <kennytm gmail.com> writes:
Andrei Alexandrescu wrote:
 KennyTM~ wrote:
 Jarrett Billingsley wrote:
 On Tue, Oct 7, 2008 at 9:56 AM, KennyTM~ <kennytm gmail.com> wrote:
 Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

 ;-)

 --benji

template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)

Erm, it is defined. See "escape strings" here: http://www.digitalmars.com/d/1.0/lex.html

Oh I see.

In wake of the recent comments on q{string}, I have the feeling this is a mistake of the same proportion as q{string}. It essentially hijacks "\" for pretty much all uses (lambdas were an idea) for the sake of a feature that is gratuitous and useless. Andrei

Hmm, sounds like there'll be lots of change after Templ{} and immutable :D I'd used `....`, but never q{...}
Oct 07 2008
prev sibling parent Sergey Gromov <snake.scaly gmail.com> writes:
Tue, 7 Oct 2008 12:29:35 -0400,
Jarrett Billingsley wrote:
 On Tue, Oct 7, 2008 at 11:41 AM, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:
 KennyTM~ wrote:
 Jarrett Billingsley wrote:
 On Tue, Oct 7, 2008 at 9:56 AM, KennyTM~ <kennytm gmail.com> wrote:
 Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

 ;-)

 --benji

Because of the \ in the source code D can't parse this even if all the template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)

Erm, it is defined. See "escape strings" here: http://www.digitalmars.com/d/1.0/lex.html

Oh I see.

In wake of the recent comments on q{string}, I have the feeling this is a mistake of the same proportion as q{string}. It essentially hijacks "\" for pretty much all uses (lambdas were an idea) for the sake of a feature that is gratuitous and useless.

FWIW I have *never* seen escape strings used. They are a complete waste of a symbol, it seems.

I've got this in my code: // a newline sequence to be used for adding new lines, default is DOS char[] g_NewLine = \r\n; Not that it saves much typing.
Oct 07 2008
prev sibling next sibling parent "Jarrett Billingsley" <jarrett.billingsley gmail.com> writes:
On Tue, Oct 7, 2008 at 11:41 AM, Andrei Alexandrescu
<SeeWebsiteForEmail erdani.org> wrote:
 KennyTM~ wrote:
 Jarrett Billingsley wrote:
 On Tue, Oct 7, 2008 at 9:56 AM, KennyTM~ <kennytm gmail.com> wrote:
 Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

 ;-)

 --benji

Because of the \ in the source code D can't parse this even if all the template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)

Erm, it is defined. See "escape strings" here: http://www.digitalmars.com/d/1.0/lex.html

Oh I see.

In wake of the recent comments on q{string}, I have the feeling this is a mistake of the same proportion as q{string}. It essentially hijacks "\" for pretty much all uses (lambdas were an idea) for the sake of a feature that is gratuitous and useless.

FWIW I have *never* seen escape strings used. They are a complete waste of a symbol, it seems.
Oct 07 2008
prev sibling next sibling parent "David Wilson" <dw botanicus.net> writes:
2008/10/7 Andrei Alexandrescu <SeeWebsiteForEmail erdani.org>:
 Erm, it is defined.  See "escape strings" here:
 http://www.digitalmars.com/d/1.0/lex.html

Oh I see.

In wake of the recent comments on q{string}, I have the feeling this is a mistake of the same proportion as q{string}. It essentially hijacks "\" for pretty much all uses (lambdas were an idea) for the sake of a feature that is gratuitous and useless.

Agreed. Also, it encourages certain developers of a certain alternative standard library / runtime to write things like "Hello, world!"\n which just looks like ass to me. :P Little 'cool' features like this can contribute to strange compile errors, or even potentially the hiding of real bugs (but don't press me for an example in this specific case) David
Oct 07 2008
prev sibling parent "Bill Baxter" <wbaxter gmail.com> writes:
Tom S uses it in some of his code.
For making wysiwyg strings that have a newline at the end:
    string x = `This string is \wysiwyg\ but ends with newline`\n ;

Course you could do that with "\n" instead of \n at the end, too.

--bb



On Wed, Oct 8, 2008 at 12:51 AM, Ary Borenszweig <ary esperanto.org.ar> wrote:
 Andrei Alexandrescu wrote:
 KennyTM~ wrote:
 Jarrett Billingsley wrote:
 On Tue, Oct 7, 2008 at 9:56 AM, KennyTM~ <kennytm gmail.com> wrote:
 Benji Smith wrote:
 http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

 ;-)

 --benji

Because of the \ in the source code D can't parse this even if all the template stuffs are translated. Unless Walter clarifies what \ means outside a string (currently \n in the source code is directly translated to "\n". So writefln("Hello" \n "world"); is, em, valid.)

Erm, it is defined. See "escape strings" here: http://www.digitalmars.com/d/1.0/lex.html

Oh I see.

In wake of the recent comments on q{string}, I have the feeling this is a mistake of the same proportion as q{string}. It essentially hijacks "\" for pretty much all uses (lambdas were an idea) for the sake of a feature that is gratuitous and useless.

Who is using q{} and \n in real code? Why that was introduced? What was the problem with normal string literals?

Oct 07 2008