www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - D Logo and Slogan

reply "Mike" <none none.com> writes:
I was feeling a little creative this morning, and thought the D 
Programming Language effort could use a slogan:

alias {D Logo} this;

I hope the pun makes sense to someone other than me.

I did my best to create a D Logo SVG file and a few *.png files 
for the slogan.

It might be cool to use this for T-Shirts, pens, baseball caps, 
mugs, lingerie, etc... at DConf 2014.

https://github.com/JinShil/D_Images

Since I don't own the D Logo, I wasn't sure how to license it, so 
I didn't add any license.  If I've violated and 
copyright/license, please let me know.

Enjoy!
Mike
Jan 31 2014
next sibling parent reply "Martin Cejp" <minexew gmail.com> writes:
On Saturday, 1 February 2014 at 03:25:33 UTC, Mike wrote:
 alias {D Logo} this;
Outdated syntax. You should use alias this = {D Logo}; instead.
Feb 01 2014
next sibling parent reply "Asman01" <jckj33 gmail.com> writes:
On Saturday, 1 February 2014 at 16:14:59 UTC, Martin Cejp wrote:
 On Saturday, 1 February 2014 at 03:25:33 UTC, Mike wrote:
 alias {D Logo} this;
Outdated syntax. You should use alias this = {D Logo}; instead.
Isn't this syntax discouraged/depracted now?
Feb 01 2014
parent reply "Jesse Phillips" <Jesse.K.Phillips+D gmail.com> writes:
On Saturday, 1 February 2014 at 16:33:19 UTC, Asman01 wrote:
 On Saturday, 1 February 2014 at 16:14:59 UTC, Martin Cejp wrote:
 On Saturday, 1 February 2014 at 03:25:33 UTC, Mike wrote:
 alias {D Logo} this;
Outdated syntax. You should use alias this = {D Logo}; instead.
Isn't this syntax discouraged/depracted now?
alias this = foo; This is new syntax, has some edge cases which fail and intended to replace the old typedef style alias Type NewName; Such that it look more like variable assignment: alias NewName = Type;
Feb 01 2014
parent reply "Dicebot" <public dicebot.lv> writes:
On Saturday, 1 February 2014 at 17:38:44 UTC, Jesse Phillips 
wrote:
 alias this = foo;

 This is new syntax, has some edge cases which fail and intended 
 to replace the old typedef style

 alias Type NewName;

 Such that it look more like variable assignment:

 alias NewName = Type;
This syntax was intended to only be used for normal aliases, not "alias this", and was supposed to be removed for latter.
Feb 01 2014
next sibling parent reply "Brian Schott" <briancschott gmail.com> writes:
On Saturday, 1 February 2014 at 18:44:42 UTC, Dicebot wrote:
 On Saturday, 1 February 2014 at 17:38:44 UTC, Jesse Phillips 
 wrote:
 alias this = foo;

 This is new syntax, has some edge cases which fail and 
 intended to replace the old typedef style

 alias Type NewName;

 Such that it look more like variable assignment:

 alias NewName = Type;
This syntax was intended to only be used for normal aliases, not "alias this", and was supposed to be removed for latter.
Do you have a citation for that? My understanding was that the correct way was 'alias' identifier '=' type; and that the old one was going to be removed because it was easier to confuse the type and its new name.
Feb 01 2014
parent reply "Dicebot" <public dicebot.lv> writes:
It was actually removed several releases ago 
-https://github.com/D-Programming-Language/dmd/pull/1413
Feb 01 2014
parent reply "Mike" <none none.com> writes:
On Sunday, 2 February 2014 at 00:25:39 UTC, Dicebot wrote:
 It was actually removed several releases ago 
 -https://github.com/D-Programming-Language/dmd/pull/1413
What a mess! I'm almost sorry I brought it up, but I'm glad I did because I was just about to model a 1500 page ARM Cortex-M datasheet using the apparently "old" syntax. So let me get this straight: alias {type} this; // only if using 'this' alias {newType} = {existingType} // all others So, does the language reference here (http://dlang.org/declaration.html#alias) need updating? And do the aliases in object.di here (https://github.com/D-Programming-Language/druntime/blob/master/src/object.di) also need updating?
Feb 01 2014
parent "Dicebot" <public dicebot.lv> writes:
On Sunday, 2 February 2014 at 03:23:22 UTC, Mike wrote:
 So let me get this straight:
 alias {type} this;               // only if using 'this'
 alias {newType} = {existingType} // all others
Yes, but: 1) not {newType} but {newSymbol} - alias does not create new types 2) alias {existingSymbol} {newSymbol} is also legal and not planned for deprecation so far
 So, does the language reference here 
 (http://dlang.org/declaration.html#alias) need updating?
Yes, looks like those don't mention new syntax.
 And do the aliases in object.di here 
 (https://github.com/D-Programming-Language/druntime/blob/master/src/object.di) 
 also need updating?
Not necessarily, old syntax is still legal. But in context of consistent style - yes, makes sense.
Feb 02 2014
prev sibling next sibling parent reply "Jesse Phillips" <Jesse.K.Phillips+D gmail.com> writes:
On Saturday, 1 February 2014 at 18:44:42 UTC, Dicebot wrote:
 On Saturday, 1 February 2014 at 17:38:44 UTC, Jesse Phillips 
 wrote:
 alias this = foo;

 This is new syntax, has some edge cases which fail and 
 intended to replace the old typedef style

 alias Type NewName;

 Such that it look more like variable assignment:

 alias NewName = Type;
This syntax was intended to only be used for normal aliases, not "alias this", and was supposed to be removed for latter.
Pretty sure "alias this" was actually a driving force. E.g "You should use alias this?" "How, I added alias this and it didn't compile?" "The syntax 'alias TheThingToAlias this'" "So not 'alias this' then."
Feb 01 2014
parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 02/02/2014 01:21 AM, Jesse Phillips wrote:
 Pretty sure "alias this" was actually a driving force. E.g

 "You should use alias this?"

 "How, I added alias this and it didn't compile?"

 "The syntax 'alias TheThingToAlias this'"

 "So not 'alias this' then."
The syntax was actively removed. https://github.com/D-Programming-Language/dmd/pull/1413 https://github.com/D-Programming-Language/dmd/pull/1685
Feb 01 2014
parent "Jesse Phillips" <Jesse.K.Phillips+D gmail.com> writes:
On Sunday, 2 February 2014 at 00:26:44 UTC, Timon Gehr wrote:
 On 02/02/2014 01:21 AM, Jesse Phillips wrote:
 Pretty sure "alias this" was actually a driving force. E.g

 "You should use alias this?"

 "How, I added alias this and it didn't compile?"

 "The syntax 'alias TheThingToAlias this'"

 "So not 'alias this' then."
The syntax was actively removed. https://github.com/D-Programming-Language/dmd/pull/1413 https://github.com/D-Programming-Language/dmd/pull/1685
Yes, "actively" "It'd do this community a lot of good if people would stop assuming malice when simple unawareness is far more likely. If there's issues that should block releases, those that are aware of the blockers really need to raise them. Don't assume that every pull request and every thread is read by those that need to see them." Kenji was quite admit that it was a mistake, but not one person agreed. The closest: " 9rnsr I agree with removing the syntax for the time being." --Walter I agree with Kenji that 'alias this' and 'alias symbol symbol' are different. I don't agree an entirely new (old) syntax needs to be used to distinguish them. I think it is syntactic overhead which provides no benefit. Though I could agree, explaining: 'alias this : symbol' isn't too hard (this implicitly converses to symbol (i.e. it takes from the is() and template expressions) Personally I really want the old alias syntax to vanish. I hate it, though I know it won't leave the language.
Feb 02 2014
prev sibling next sibling parent Timon Gehr <timon.gehr gmx.ch> writes:
On 02/01/2014 07:44 PM, Dicebot wrote:
 On Saturday, 1 February 2014 at 17:38:44 UTC, Jesse Phillips wrote:
 alias this = foo;

 This is new syntax, has some edge cases which fail and intended to
 replace the old typedef style

 alias Type NewName;

 Such that it look more like variable assignment:

 alias NewName = Type;
This syntax was intended to only be used for normal aliases, not "alias this", and was supposed to be removed for latter.
Which is highly nonsensical and basically shows that alias this should have been done as a (or more than one) specially named member instead, as the syntactic pun appears not to be working.
Feb 01 2014
prev sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Saturday, 1 February 2014 at 18:44:42 UTC, Dicebot wrote:
 On Saturday, 1 February 2014 at 17:38:44 UTC, Jesse Phillips 
 wrote:
 alias this = foo;

 This is new syntax, has some edge cases which fail and 
 intended to replace the old typedef style

 alias Type NewName;

 Such that it look more like variable assignment:

 alias NewName = Type;
This syntax was intended to only be used for normal aliases, not "alias this", and was supposed to be removed for latter.
Because more syntax is always better !
Feb 01 2014
prev sibling parent "Mike" <none none.com> writes:
On Saturday, 1 February 2014 at 16:14:59 UTC, Martin Cejp wrote:
 On Saturday, 1 February 2014 at 03:25:33 UTC, Mike wrote:
 alias {D Logo} this;
Outdated syntax. You should use alias this = {D Logo}; instead.
Damn! Not sure the pun still works. Maybe it never did.
Feb 01 2014
prev sibling parent reply "Chris Cain" <clcain uncg.edu> writes:
I think this whole thread should be our slogan.

Mike:
alias {D Logo} this;
Martin:
Outdated syntax. You should use
alias this = {D Logo};
instead.
Asman:
Isn't this syntax discouraged/depreciated now?

:D
Feb 01 2014
next sibling parent reply "anonymous" <anonymous example.com> writes:
On Saturday, 1 February 2014 at 18:06:47 UTC, Chris Cain wrote:
 Asman:
 Isn't this syntax discouraged/depreciated now?
The word's "deprecated" (de-prec-ate, not de-pre-she-ate). (Asman actually wrote "depracted".)
Feb 01 2014
next sibling parent =?UTF-8?B?QWxpIMOHZWhyZWxp?= <acehreli yahoo.com> writes:
On 02/01/2014 10:26 AM, anonymous wrote:
 On Saturday, 1 February 2014 at 18:06:47 UTC, Chris Cain wrote:
 Asman:
 Isn't this syntax discouraged/depreciated now?
The word's "deprecated" (de-prec-ate, not de-pre-she-ate). (Asman actually wrote "depracted".)
New slogan: D'precated I hope not. :p Ali
Feb 01 2014
prev sibling parent "Chris Cain" <clcain uncg.edu> writes:
On Saturday, 1 February 2014 at 18:26:15 UTC, anonymous wrote:
 On Saturday, 1 February 2014 at 18:06:47 UTC, Chris Cain wrote:
 Asman:
 Isn't this syntax discouraged/depreciated now?
The word's "deprecated" (de-prec-ate, not de-pre-she-ate). (Asman actually wrote "depracted".)
Yeah, I actually just right clicked the word for the correction and the i didn't register for whatever reason. Fwiw, I said the word correctly in my head
Feb 01 2014
prev sibling parent reply "Martin Cejp" <minexew gmail.com> writes:
On Saturday, 1 February 2014 at 18:06:47 UTC, Chris Cain wrote:
 I think this whole thread should be our slogan.

 Mike:
 alias {D Logo} this;
 Martin:
 Outdated syntax. You should use
 alias this = {D Logo};
 instead.
 Asman:
 Isn't this syntax discouraged/depreciated now?

 :D
Wait for a few seconds (time for some Garbage Collection), add an 11 kilobytes long mangled function name and a compiler crash, and you get a quite good representation of D :)
Feb 01 2014
parent "Chris Cain" <clcain uncg.edu> writes:
On Saturday, 1 February 2014 at 18:32:00 UTC, Martin Cejp wrote:
 On Saturday, 1 February 2014 at 18:06:47 UTC, Chris Cain wrote:
 I think this whole thread should be our slogan.

 Mike:
 alias {D Logo} this;
 Martin:
 Outdated syntax. You should use
 alias this = {D Logo};
 instead.
 Asman:
 Isn't this syntax discouraged/depreciated now?

 :D
Wait for a few seconds (time for some Garbage Collection), add an 11 kilobytes long mangled function name and a compiler crash, and you get a quite good representation of D :)
Now we're just being mean. :p D works great for me (it's just sometimes some of these discussions like this get me concerned over mostly trivial things).
Feb 01 2014