Jump to page: 1 2
Thread overview
When will D get this feature?
Oct 07, 2008
Benji Smith
Oct 07, 2008
KennyTM~
Oct 07, 2008
KennyTM~
Oct 07, 2008
Ary Borenszweig
Oct 07, 2008
bearophile
Oct 07, 2008
Bill Baxter
Oct 07, 2008
KennyTM~
Oct 07, 2008
Sergey Gromov
Oct 07, 2008
David Wilson
October 07, 2008
http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml

;-)

--benji
October 07, 2008
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.)
October 07, 2008
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
October 07, 2008
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.
October 07, 2008
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.

Andrei
October 07, 2008
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?
October 07, 2008
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.
> 
> Andrei

Hmm, sounds like there'll be lots of change after Templ{} and immutable :D

I'd used `....`, but never q{...}
October 07, 2008
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.
October 07, 2008
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
October 07, 2008
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
« First   ‹ Prev
1 2