www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Which patches/mods exists for current versions of the DMD parser?

reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
I've started to make some minor mods to the DMD parser to tailor 
it to my own taste, but there is no reason to do double work, 
even if experimental. So I wonder which patches are available or 
in the works by others?

I'm currently working on the following mods (not thoroughly 
tested yet):

in : templatename‹params›
out: templatename!(params)

in : templatename«params»
out: templatename!"params"

in : a := expr
out: auto a = expr

in : a :== expr
out: immutable a = expr

And plan to continue with:

in :  √x+y
out:  sqrt(x) + y

in :  a•b
out:  a.opInner(b) // dot product, maybe some other name?

in :  #arr;
out:  arr.length //or perhaps something more generic?

What are you working on and what patches do you have?

What kind of syntactical sugar do you feel is missing in D?
Sep 08 2014
next sibling parent reply "Idan Arye" <GenericNPC gmail.com> writes:
On Monday, 8 September 2014 at 08:51:10 UTC, Ola Fosheim Grøstad 
wrote:
 I've started to make some minor mods to the DMD parser to 
 tailor it to my own taste, but there is no reason to do double 
 work, even if experimental. So I wonder which patches are 
 available or in the works by others?

 I'm currently working on the following mods (not thoroughly 
 tested yet):

 in : templatename‹params›
 out: templatename!(params)

 in : templatename«params»
 out: templatename!"params"

 in : a := expr
 out: auto a = expr

 in : a :== expr
 out: immutable a = expr

 And plan to continue with:

 in :  √x+y
 out:  sqrt(x) + y

 in :  a•b
 out:  a.opInner(b) // dot product, maybe some other name?

 in :  #arr;
 out:  arr.length //or perhaps something more generic?

 What are you working on and what patches do you have?

 What kind of syntactical sugar do you feel is missing in D?
You really do hate portability, don't you?
Sep 08 2014
parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 09:23:42 UTC, Idan Arye wrote:
 You really do hate portability, don't you?
I didn't ask about hatred. I asked about what is available so I don't replicate the efforts of others. Besides, it is fully portable since it is compiling to the same AST (as of today).
Sep 08 2014
prev sibling next sibling parent reply "Dicebot" <public dicebot.lv> writes:
On Monday, 8 September 2014 at 08:51:10 UTC, Ola Fosheim Grøstad 
wrote:
 I've started to make some minor mods to the DMD parser to 
 tailor it to my own taste, but there is no reason to do double 
 work, even if experimental. So I wonder which patches are 
 available or in the works by others?

 I'm currently working on the following mods (not thoroughly 
 tested yet):

 ...
Good list of changes I'd love to never see the public exposures to prevent even smallest chance someone will actually use it :P
Sep 08 2014
parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 09:26:23 UTC, Dicebot wrote:
 Good list of changes I'd love to never see the public exposures 
 to prevent even smallest chance someone will actually use it :P
Good for you, but please answer the question…?
Sep 08 2014
parent "Dicebot" <public dicebot.lv> writes:
On Monday, 8 September 2014 at 09:31:06 UTC, Ola Fosheim Grøstad 
wrote:
 On Monday, 8 September 2014 at 09:26:23 UTC, Dicebot wrote:
 Good list of changes I'd love to never see the public 
 exposures to prevent even smallest chance someone will 
 actually use it :P
Good for you, but please answer the question…?
I submit all changes, even experimental ones, as pull request. If it is not good / widely useful enough to have a change of being accepted upstream I won't even bother thinking about design, not even speaking about keeping local patches. And if at some point I will want to create my own language I'll definitely use something other than DMD as a base.
Sep 08 2014
prev sibling next sibling parent reply "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Ola Fosheim Grøstad" " wrote in message 
news:adjmadefxvblysylyvto forum.dlang.org...

 I've started to make some minor mods to the DMD parser to tailor it to my 
 own taste, but there is no reason to do double work, even if experimental. 
 So I wonder which patches are available or in the works by others?
Attempting to fork D's syntax is harmful to D. Please stop.
Sep 08 2014
next sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 8 Sep 2014 19:37:22 +1000
Daniel Murphy via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Attempting to fork D's syntax is harmful to D.  Please stop.=20
it's easy: just close the code. this will effectively stop people who want to experiment.
Sep 08 2014
parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 09:41:42 UTC, ketmar via 
Digitalmars-d wrote:
 On Mon, 8 Sep 2014 19:37:22 +1000
 Daniel Murphy via Digitalmars-d <digitalmars-d puremagic.com> 
 wrote:

 Attempting to fork D's syntax is harmful to D.  Please stop.
it's easy: just close the code. this will effectively stop people who want to experiment.
It is funny how people one day tell you to create proofs-of-concept in order stifle arguments for change, then the next day when you create proofs-of-concept you are treated as a traitor… Anyway, stifling creativity is never a good idea. If D's syntax is great then this is obviously no threat to it. This is in the spirit of open source, if people don't like it: don't open source your code base.
Sep 08 2014
parent reply "Dicebot" <public dicebot.lv> writes:
On Monday, 8 September 2014 at 13:36:37 UTC, Ola Fosheim Grøstad 
wrote:
 Attempting to fork D's syntax is harmful to D.  Please stop.
it's easy: just close the code. this will effectively stop people who want to experiment.
It is funny how people one day tell you to create proofs-of-concept in order stifle arguments for change, then the next day when you create proofs-of-concept you are treated as a traitor…
With many freedoms come many responsibilities. The fact that you can fork the syntax and no one sue you for it (or actively try to stop you from doing it) does not mean that it won't harm your public image and overall attitude from some of community members. I think http://xkcd.com/1357/ fits the spirit here quite nicely.
Sep 08 2014
next sibling parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 14:09:15 UTC, Dicebot wrote:
 With many freedoms come many responsibilities. The fact that 
 you can fork the syntax and no one sue you for it (or actively 
 try to stop you from doing it) does not mean that it won't harm 
 your public image and overall attitude from some of community 
 members
I think the D community manages to harm it's own public image by not encouraging evolution and aiming for the insular cult image and group think. If you pick Boost as a license you open up for commercial closed source use, maybe even encourage it. If you don't want someone to evolve the language and tailor it to their own ends, then pick a different license. Forking a project only harms it if you create totally incompatible spheres and split the current team of developers. We add to the eco system. We don't detract from it. I'm sorry, but I don't believe in design by democracy. It has never lead to anything great. I do believe in evolution. D needs evolution.
 I think http://xkcd.com/1357/ fits the spirit here quite nicely.
I've never liked xkcd much and comics are not on topic, so I can't be bothered to look at it unless you made it yourself.
Sep 08 2014
next sibling parent reply "Dicebot" <public dicebot.lv> writes:
On Monday, 8 September 2014 at 14:58:01 UTC, Ola Fosheim Grøstad 
wrote:
 On Monday, 8 September 2014 at 14:09:15 UTC, Dicebot wrote:
 With many freedoms come many responsibilities. The fact that 
 you can fork the syntax and no one sue you for it (or actively 
 try to stop you from doing it) does not mean that it won't 
 harm your public image and overall attitude from some of 
 community members
I think the D community manages to harm it's own public image by not encouraging evolution and aiming for the insular cult image and group think. If you pick Boost as a license you open up for commercial closed source use, maybe even encourage it. If you don't want someone to evolve the language and tailor it to their own ends, then pick a different license.
It is not about D community but about yourself. Do _you_ want to be viewed as a valuable member of community? Do _you_ want to receive on topic responses to your threads? If answer is yes, you will consider people expectation as much as a license. If answer is no, well, just tell that and I will stop paying attention to your posts in NG saving time us both.
 Forking a project only harms it if you create totally 
 incompatible spheres and split the current team of developers.

 We add to the eco system. We don't detract from it.
Bullshit. Any kind of forking wastes most valuable resource open source world can possibly have - developer attention. In limited form it is compensated by ecnouraged competition and breaking possible stagantion. When it becomes casual it is a single biggest killer of all open source projects.
Sep 08 2014
next sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 08 Sep 2014 15:09:26 +0000
Dicebot via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Bullshit. Any kind of forking wastes most valuable resource open=20
 source world can possibly have - developer attention.
if particular developer so annoyed by mainline that he decided to fork the project, this doesn't remove *any* resources from mainline. it's the same BS as "lost profits" that copyright holders "calculating". what is better: annoyed developer that quits the project or annoyed developer that forks the project? mainline can get bugfixes and enhancements from the fork, for example, but it's impossible to get bugfixes and enhancements from nothing.
Sep 08 2014
prev sibling next sibling parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 15:09:27 UTC, Dicebot wrote:
 It is not about D community but about yourself. Do _you_ want 
 to be viewed as a valuable member of community? Do _you_ want 
 to receive on topic responses to your threads?
I only want to receive a response on this thread from community members who are willing to share their patches! Your contribution to this thread is counter productive. Ketmar is a noble example that I'd encourage others to follow. More people like him would bring D out of stagnation.
 If answer is yes, you will consider people expectation as much 
 as a license.
No, I don't consider other people's disparage expectations on this topic. I consider the orignal author's choice of license. I am sure he considered the licensing-options and stands for his own choice. If he does not, then an explanation from the original author is in place.
 We add to the eco system. We don't detract from it.
Bullshit. Any kind of forking wastes most valuable resource open source world can possibly have - developer attention.
Uhm, no. I would not use D in it's current incarnation so I need to modify it. Ketmar and I are not DMD developers. We are currently digging into the code base. Modifying the parser is a good way to learn the AST. Maybe we one day will become DMD developers, but this attitude you and others are exposing in this thread and the bug-report-patch thread aint sexy. It's a turn off. What you are doing is telling prospective contributors that this community is about cohesive military discipline. Totalitarian regimes tend to run into trouble. I most definitely will never join a cult that expose it as an ideal. I'm not one of your lieutenants. Sorry.
Sep 08 2014
next sibling parent reply Marco Leise <Marco.Leise gmx.de> writes:
Am Mon, 08 Sep 2014 15:22:03 +0000
schrieb "Ola Fosheim Gr=C3=B8stad"
<ola.fosheim.grostad+dlang gmail.com>:

 On Monday, 8 September 2014 at 15:09:27 UTC, Dicebot wrote:
 It is not about D community but about yourself. Do _you_ want=20
 to be viewed as a valuable member of community? Do _you_ want=20
 to receive on topic responses to your threads?
=20 I only want to receive a response on this thread from community=20 members who are willing to share their patches! Your contribution=20 to this thread is counter productive. =20 Ketmar is a noble example that I'd encourage others to follow.=20 More people like him would bring D out of stagnation. =20
 If answer is yes, you will consider people expectation as much=20
 as a license.
=20 No, I don't consider other people's disparage expectations on=20 this topic. I consider the orignal author's choice of license. I=20 am sure he considered the licensing-options and stands for his=20 own choice. If he does not, then an explanation from the original=20 author is in place. =20
 We add to the eco system. We don't detract from it.
Bullshit. Any kind of forking wastes most valuable resource=20 open source world can possibly have - developer attention.
=20 Uhm, no. I would not use D in it's current incarnation so I need=20 to modify it. Ketmar and I are not DMD developers. We are=20 currently digging into the code base. Modifying the parser is a=20 good way to learn the AST. Maybe we one day will become DMD=20 developers, but this attitude you and others are exposing in this=20 thread and the bug-report-patch thread aint sexy. It's a turn off. =20 What you are doing is telling prospective contributors that this=20 community is about cohesive military discipline. Totalitarian=20 regimes tend to run into trouble. I most definitely will never=20 join a cult that expose it as an ideal. I'm not one of your=20 lieutenants. Sorry.
And now we all calm down a little, ok? The D community is as diverse as the language and even if three people yell in the same tone, it doesn't mean everyone else believes the same. On topic: Adding more ways to instantiate templates, I see no value in. It only causes confusion for the reader. Short syntax for declaring auto/const/immutable variables is nice, because it probably saves typing and variable names are all left aligned. You might want to check if you can really fulfill the goal. E.g. sometimes your expression evaluates to something const which you cannot store in an immutable variable. Whereas a const variable can receive an immutable. How do you go about pointers? I.e. Does :=3D=3D declare an immutable(char)[] or an immutable(char[])? New Unicode operators. Personally I find them sexy, because =E2=88=9A is a short, well known operator. But you may find people that still require ASCII for source code. Also this specific rewrite requires std.math to be imported, and like ^^ it will cause bewildered looks when something breaks for a built-in operator. So if you want to push this make it an operator that is understood by the front-end like "!" or "~". Also you might want to consider adding .opSqrt for consistency. For array length we already have .length and .opDollar. Even more ways to express the length? Granted it is one of the most common properties you ask for in D code, but #arr looks very unusual. Well, it is your fork I'd say. If you ever make any pull requests be sure to propose one feature at a time, D is already short on reviewers that understand the effects of the code changes. And be sure to document the corner cases you dealt with, especially with the :=3D=3D operator. --=20 Marco
Sep 08 2014
next sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 8 Sep 2014 18:55:46 +0200
Marco Leise via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 but #arr looks very unusual
not for those who loves Lua. ;-)
Sep 08 2014
parent Marco Leise <Marco.Leise gmx.de> writes:
Am Mon, 8 Sep 2014 20:27:41 +0300
schrieb ketmar via Digitalmars-d <digitalmars-d puremagic.com>:

 On Mon, 8 Sep 2014 18:55:46 +0200
 Marco Leise via Digitalmars-d <digitalmars-d puremagic.com> wrote:
=20
 but #arr looks very unusual
not for those who loves Lua. ;-)
... an Perl and Bash, yes. --=20 Marco
Sep 08 2014
prev sibling parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 16:47:15 UTC, Marco Leise wrote:
 And now we all calm down a little, ok? The D community is as
 diverse as the language and even if three people yell in the
 same tone, it doesn't mean everyone else believes the same.
I know that, but newbies don't know that. So it is important that you voice your opinion. It is important to nurture. That means understand why new people are engaged and back it up if it is constructive. With 25+ years of experience with online communities and 3+ years of full time studies of creativity/motivation in online communities I believe the following is close to the truth: 1. Recruiting newbies is even more important than retaining oldbies. - Retention is important, but most oldbies will leave (after ~3 years). This is natural and healthy. - Some of the oldbies that stay, some do it for the wrong reasons (e.g. the online community being their main source of self worth), this can lead to dysfunctional situations. 2. Newbie bashing is common. Backing and understanding what drives motivated newbies is important for growth. You need to sustain that motivation to grow. 3. People generally don't want more work in their spare time. They want fun, freedom and a go-happy friendly environment. So you need to provide that atmosphere for newbies. 4. Newbies sometimes come with a fresh outlook and are a source for understanding what aspects of the culture hold back growth and performance. A bunch of unwritten rules tend to lead to unpleasant situations. It is important for a development community to align their attitudes to the freedoms implied by the license. A Boost license comes with a set of freedoms that I would expect the community to back fully. Undermining the license by unwritten rules is counter productive for the following reasons: 1. Commercial entities will not "read" the unwritten rules. They will look at the source code, the change log and the license. There is no good reason for having forum members adhere to a separate set of rules where they have their freedom restricted. 2. Unwritten rules lead to newbie bashing, because newbies cannot possibly know the unwritten rules, which in turn leads to recruitment problems. The main branch is not inviting since it should aim for stability, contributing to it is more likely to lead to frustration than gratification. Making your own mods is motivating since it is gratifying to be able to add a new feature in 3 hours. Exchanging mods with other newbies (which I am in a way) increase the motivation. Basically, group formation nurture participation and involvement. It is important to encourage that when opportunities arise. E.g. when new people arrive and express enthusiasm.
 that is understood by the front-end like "!" or "~". Also you
 might want to consider adding .opSqrt for consistency.
Yes, that would probably be the more consistent way to do it in the long run.
 very unusual. Well, it is your fork I'd say. If you ever make
 any pull requests be sure to propose one feature at a time,
I don't have any plans to make pull requests atm, I only have a few hours per week to spend on this. However, I try to keep changes local (which is not all that easy in parser.c).
Sep 11 2014
parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 09/11/2014 01:46 PM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
<ola.fosheim.grostad+dlang gmail.com>" wrote:
 The D community is as
 diverse as the language and even if three people yell in the
 same tone, it doesn't mean everyone else believes the same.
I know that, but newbies don't know that. [...]Exchanging mods with other newbies (which I am in a way)
? Protip: Stop categorising people in a blurry way and making unsound general statements about those categories if you want your points to be understood.
 A bunch of unwritten rules tend to lead to unpleasant situations. It is
 important for a development community to align their attitudes to the
 freedoms implied by the license.
AFAICS, the Boost license is just about opting out of possibly annoying defaults of copyright law. I see no reason to adopt an ideology over this.
 A Boost license comes with a set of
 freedoms that I would expect the community to back fully.
I.e. you expect 'the community' to hold restricted opinions? Also: Where does the Boost licence say anything about discussing arbitrary derivative works on the official forums?
 There is no good reason for having forum members adhere to a separate set of
rules
 where they have their freedom restricted.
How has your 'freedom' been 'restricted', if at all? (BTW: freedom becomes a non-trivial concept as soon as more than one entity should be free.)
Sep 11 2014
parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Thursday, 11 September 2014 at 14:14:38 UTC, Timon Gehr wrote:
 Protip: Stop categorising people in a blurry way and making 
 unsound general statements about those categories if you want 
 your points to be understood.
Which unsound general statement? If you are talking about my response to Dicebot it was "mirroring" his own arguments to make him realize where he was going. Basically outlining the consequences of his own rhetorics.
 AFAICS, the Boost license is just about opting out of possibly 
 annoying defaults of copyright law. I see no reason to adopt an 
 ideology over this.
I don't understand this statement. I would not touch a code base that is not under PD, Boost, BSD or MIT for very pragmatic reasons. Those pragmatic reasons is that I don't want my freedom to be tied down. If the community is trying to undermine the license through what might be described as "verbal abuse", then the license is put in doubt. I can then not assume that the next version will be released under the same license. That makes the source code less attractive. This is what Dicebot achieves. The question is, is this what the original authored wanted? And why should Dicebot have the privilege to undermine the license? This is a trust issue.
 How has your 'freedom' been 'restricted', if at all?
Look up the word "shunning".
 (BTW: freedom becomes a non-trivial concept as soon as more 
 than one entity should be free.)
I don't know what you are talking about. The license grants your freedoms. If a third party try to restrict that freedom using threats or verbal abuse then they are doing something wrong. This ought to be obvious. I am still perplexed by the whole "valued member" rhetorical element Dicebot uses. He seems to place an unusual emphasis on the need to evaluate other people. I'd frankly suggest he deal with those issues somewhere else.
Sep 11 2014
parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 09/11/2014 06:45 PM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
<ola.fosheim.grostad+dlang gmail.com>" wrote:
 On Thursday, 11 September 2014 at 14:14:38 UTC, Timon Gehr wrote:
 ...
Which unsound general statement? ...
I was quoting relevant passages.
...

 If the community
'the community'?
 is trying to undermine the license
I don't even see that happening. What I saw was Daniel voicing a polite request based on his perception of the situation and drama immediately ensuing without any further adult discussion.
 through what might be described as "verbal abuse",
I discourage such behaviour, but the statements made by you and ketmar in response to Daniel meet similarly low standards. I suggest not to ascribe this incident too much importance.
 then the license is put in doubt. I can
 then not assume that the next version will be released under the same
 license. That makes the source code less attractive. This is what
 Dicebot achieves.  The question is, is this what the original authored
 wanted? And why should Dicebot have the privilege to undermine the
 license? This is a trust issue.
 ...
If this happened, then you would be the one who authorizes Dicebot to have such an effect: by your distrust.
 How has your 'freedom' been 'restricted', if at all?
Look up the word "shunning". ...
I encourage you to look it up yourself. Nothing of that sort has taken place.
 ...

 I don't know what you are talking about. The license grants your
 freedoms.
It grants you certain _rights_. It guarantees you that you won't be sued for certain actions that would usually be up to prosecution without licensing.
Sep 11 2014
parent "Ola Fosheim Grostad" <ola.fosheim.grostad+dlang gmail.com> writes:
On Thursday, 11 September 2014 at 19:23:27 UTC, Timon Gehr wrote:
 I was quoting relevant passages.
Nothing unsound there. I am a newbie to dmd modding.
 I discourage such behaviour, but the statements made by you and 
 ketmar in response to Daniel meet similarly low standards. I 
 suggest not to ascribe this incident too much importance.
I made no response to Daniel. (but his response was not polite)
 If this happened, then you would be the one who authorizes 
 Dicebot to have such an effect: by your distrust.
No, the DMD developers have to back the license. If the dev team don't undestand their own license then there are three interpretations: 1. The project is lacking proper management. 2. They failed to add a clause to the contract. 3. Hypocracy. Nothing prevents you from locking the license to the language spec if you want to restrict usage. Licenses such as boost, mit and bsd embeds expected policies that implies that forking, competition and exploitation is ok by the author. Pretending this is not the case will just create confusion and noise.
Sep 15 2014
prev sibling parent reply "Dicebot" <public dicebot.lv> writes:
On Monday, 8 September 2014 at 15:22:05 UTC, Ola Fosheim Grøstad 
wrote:
 On Monday, 8 September 2014 at 15:09:27 UTC, Dicebot wrote:
 It is not about D community but about yourself. Do _you_ want 
 to be viewed as a valuable member of community? Do _you_ want 
 to receive on topic responses to your threads?
I only want to receive a response on this thread from community members who are willing to share their patches! Your contribution to this thread is counter productive.
And I don't give a fuck what you expect because this thread encourages counter-productive and harmful attitude to the language. So yes, expect it to be ruined by off-topic flamewar, as well as any similar thread, this is quite intentional.
 Ketmar is a noble example that I'd encourage others to follow. 
 More people like him would bring D out of stagnation.
And I won't let you do that easily. Not in this NG at least.
 If answer is yes, you will consider people expectation as much 
 as a license.
No, I don't consider other people's disparage expectations on this topic. I consider the orignal author's choice of license. I am sure he considered the licensing-options and stands for his own choice. If he does not, then an explanation from the original author is in place.
And there are no NG rules that say I shouldn't write some off-topic bullshit in your threads. Also clearly the only reason why we don't casually walk around shooting people is because laws prohibit doing so, otherwise it is perfectly reasonable thing to do.
 We add to the eco system. We don't detract from it.
Bullshit. Any kind of forking wastes most valuable resource open source world can possibly have - developer attention.
Uhm, no. I would not use D in it's current incarnation so I need to modify it. Ketmar and I are not DMD developers. We are currently digging into the code base. Modifying the parser is a good way to learn the AST. Maybe we one day will become DMD developers, but this attitude you and others are exposing in this thread and the bug-report-patch thread aint sexy. It's a turn off.
Yeah, sadly I don't buy this "I wanted to contribute but now I am so discouraged" attention whore crap. Andrei / Walter usually appreciate it being public spokeperson but I have no such concerns and don't care about a difference between a forum troll and retard. Same as I don't really care what is your _personal_ go on D usage and what custom patches you have (or just pretend to have to troll real contributors). You are crossing the line when you come to the official NG and start telling people "hey guys it feels like a good day to screw this language a bit more". This is where I stop pretending to be a civilized person.
 What you are doing is telling prospective contributors that 
 this community is about cohesive military discipline. 
 Totalitarian regimes tend to run into trouble. I most 
 definitely will never join a cult that expose it as an ideal. 
 I'm not one of your lieutenants. Sorry.
Exactly the kind of demagogue rhetorics referenced xkcd comic makes fun of. It is quite ironical that people tend to call least restricted environments totalitarian because it not only allows them to do things but also face the reaction of other people which is (surprisingly!) different from expected ones. Because if we actually had any sort of military discipline I'd had to comply to official "be nice to everyone" attitude. Fortunately I don't have to. Same as you don't have to respect my or Daniel opinion.
Sep 08 2014
next sibling parent reply Marco Leise <Marco.Leise gmx.de> writes:
Am Mon, 08 Sep 2014 23:31:47 +0000
schrieb "Dicebot" <public dicebot.lv>:

 [=E2=80=A6] fuck [=E2=80=A6] off-topic flamewar [=E2=80=A6] quite intenti=
onal.
 [=E2=80=A6] won't let you do that easily [=E2=80=A6] off-topic bullshit
 [=E2=80=A6] shooting people [=E2=80=A6] don't buy this [=E2=80=A6] attent=
ion whore
 [=E2=80=A6] troll [=E2=80=A6] retard [=E2=80=A6] You are crossing the line
 [=E2=80=A6] screw this language [=E2=80=A6] demagogue rhetorics
 [=E2=80=A6] face the reaction
*gulp*
Sep 08 2014
parent "Dicebot" <public dicebot.lv> writes:
On Tuesday, 9 September 2014 at 00:22:49 UTC, Marco Leise wrote:
 Am Mon, 08 Sep 2014 23:31:47 +0000
 schrieb "Dicebot" <public dicebot.lv>:

 […] fuck […] off-topic flamewar […] quite intentional.
 […] won't let you do that easily […] off-topic bullshit
 […] shooting people […] don't buy this […] attention whore
 […] troll […] retard […] You are crossing the line
 […] screw this language […] demagogue rhetorics
 […] face the reaction
*gulp*
I have never pretended to be a nice person to deal with.
Sep 08 2014
prev sibling next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/8/14, 4:31 PM, Dicebot wrote:
 On Monday, 8 September 2014 at 15:22:05 UTC, Ola Fosheim Grøstad wrote:
 On Monday, 8 September 2014 at 15:09:27 UTC, Dicebot wrote:
 It is not about D community but about yourself. Do _you_ want to be
 viewed as a valuable member of community? Do _you_ want to receive on
 topic responses to your threads?
I only want to receive a response on this thread from community members who are willing to share their patches! Your contribution to this thread is counter productive.
And I don't give a
Shall we keep it civil please. Thanks. -- Andrei
Sep 08 2014
prev sibling parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 23:31:49 UTC, Dicebot wrote:
 And there are no NG rules that say I shouldn't write some 
 off-topic bullshit in your threads. Also clearly the only 
 reason why we don't casually walk around shooting people is 
 because laws prohibit doing so, otherwise it is perfectly 
 reasonable thing to do.
Listen to me, and listen carefully. If you want to challenge me verbally, please don't put your head on the chopping block. A verbal fight where you put yourself up for verbal annihilation is just no fun! I truly believe you when you claim that you are a people's person and that the community is more important to you than the product/license. Unfortunately you completely undermine your "people over license" argument by using abusive techniques that are usually tied to brainwashed people-unfriendly cultists. Techniques such as: trying to silence members by pointing out their lack of worth, threatening by shunning and resorting to ridicule. I don't hold the view that the D community is more valuable than the product/license. The community is valuable, but the end product is more important and the community has to fully back the license and not undermine it. I am not here to increase my self worth, though I don't mind an educated argument or a role playing stunt, I am here to increase the probability of having a programming language that is better than the alternatives for server programming within a few years. With the current situation it will take another decade. I also happen to think that ketmar is funny and have the right go-happy nonchalant attitude (which I as a fan of Wodehouse appreciate). More of his sort will increase the probability of ending up with a great product. I am very much aligned with his outlook, although I probably will never agree with him on the syntax. That's ok, we don't have to agree on anything as long as we are having fun, are free to create and can freely share ideas. The bottom line is this: if the community has to change in order to get a decent programming language, then that is the right thing to do. You appear to think that management == control. You come through as a control freak, but I could be wrong. Management is about nurturing talent, smoothing out differences and facilitating productivity. It is not primarily about control. Cults usually have problem gaining more than 12-30 members. They constrain the freedom of their members too much. Bad idea. For the D community to grow it has to play up to and appreciate diversity and conflicting goals among the members. That means you have to appreciate that people are participating for reasons you don't share and have other goals than yourself. I'll be happy to fork D if it makes it possible for me to work on it full time. A license is a contract. You either stand by it or renegotiate it. I take the liberties of the liberal Boost license literally and will enjoy them in any fashion I fancy. What you are saying is basically that you disagree with the license, so maybe Walter should have spent more time making sure that he had backing for it in the community, but that is an issue you have to take up with him. Not me or ketmar.
Sep 11 2014
next sibling parent reply "Joakim" <dlang joakim.fea.st> writes:
On Thursday, 11 September 2014 at 12:26:39 UTC, Ola Fosheim 
Grøstad wrote:
 I am not here to increase my self worth, though I don't mind an 
 educated argument or a role playing stunt, I am here to 
 increase the probability of having a programming language that 
 is better than the alternatives for server programming within a 
 few years. With the current situation it will take another 
 decade.
Let me begin by noting that I'm glad you're tinkering with D, :) as I noted earlier that experimentation is good.
 You appear to think that management == control. You come 
 through as a control freak, but I could be wrong.

 Management is about nurturing talent, smoothing out differences 
 and facilitating productivity. It is not primarily about 
 control.

 Cults usually have problem gaining more than 12-30 members. 
 They constrain the freedom of their members too much. Bad idea.
These "totalitarian" or "cult" arguments don't go anywhere because it is easy to shrug them off, since the reality is far from that extreme. The core D group can sometimes be insular, but I don't think that's really the problem here.
 I'll be happy to fork D if it makes it possible for me to work 
 on it full time. A license is a contract. You either stand by 
 it or renegotiate it. I take the liberties of the liberal Boost 
 license literally and will enjoy them in any fashion I fancy.

 What you are saying is basically that you disagree with the 
 license, so maybe Walter should have spent more time making 
 sure that he had backing for it in the community, but that is 
 an issue you have to take up with him. Not me or ketmar.
This argument has nothing to do with the Boost license, as practically every open source license allows the same forking. Looking back at how this blew up, it was actually Daniel who asked you not to "fork D's syntax" and then Dicebot merely reinforced that, before you both went overboard. The real issue is that historically any programming language didn't want a bunch of incompatible syntax dialects floating around, as that makes it difficult for many devs to understand what the language proper actually consists of. That concern about "fragmentation" is all Daniel and Dicebot were speaking to. However, I've noted that is not a reason to frown on syntax experimentation like you and ketmar want to do, as your syntax tweaking is far from a full-blown or popular dialect yet. I've also noted that there may be a modern solution to such a problem, automated syntax translation for different dialects. Dicebot can't stop you from experimenting with new syntax: in fact, he started off by saying what _he_ would do instead, not what _you_ should do, in his second post. Keep tinkering and sharing patches and let us know what you find.
Sep 11 2014
parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Thursday, 11 September 2014 at 17:10:13 UTC, Joakim wrote:
 Let me begin by noting that I'm glad you're tinkering with D, 
 :) as I noted earlier that experimentation is good.
Yeah, but there are many different models to design. Informally: 1. organic/evolutionary design: let development go in many directions and let the most fit solutions survive. "The proof of the pudding is in the eating". Comes with overhead. 2. expert design: let people with theoretical knowledge do the overarching design and let regular people do the implementation. "sistine chapel". Risks of missing the target. 3. democratic/iterative/evolutionary design: involve end users in the process and let them design features. The big advantage is end user acceptance, the downside is that they might vote for the wrong features. I prefer a mix of 1/2, but you can make good arguments for all of these and several other models. Basically, there are trade-offs. Some good, some bad.
 These "totalitarian" or "cult" arguments don't go anywhere 
 because it is easy to shrug them off, since the reality is far 
 from that extreme.  The core D group can sometimes be insular, 
 but I don't think that's really the problem here.
No, but I have previously argued against having a single branch and rather have one stable branch maintained by the "D team", and then have an experimental branch which is more lax and open to experimental contributions and "fun". People working on the main branch need to align their goals to be productive, but you can only do that with a limited amount of people. Team-management is a challenging task, so you have to limit the size of the team if you want to do it well. What is really wrong is brushing latent conflicts and irreconcilable expectations under the carpet. That can grow over time into fracturing. It is better to have them in the open at an early stage.
 What you are saying is basically that you disagree with the 
 license, so maybe Walter should have spent more time making 
 sure that he had backing for it in the community, but that is 
 an issue you have to take up with him. Not me or ketmar.
This argument has nothing to do with the Boost license, as practically every open source license allows the same forking.
 Looking back at how this blew up, it was actually Daniel who 
 asked you not to "fork D's syntax" and then Dicebot merely 
 reinforced that, before you both went overboard.
Actually, I usually agree with most of what Dicebot says in other threads. He is intelligent, analytical and focused. So I was a bit surprised here, but anyone can be tired and have a bad day, and the reasons are not important anyway. Besides, he is not alone in thinking that a fork would be WRONG, so that tells me that the team-building process behind the selection might have been too much top-down and that some community building efforts are lacking. In software process improvement you need to spend time on changes in policies so that you bring everyone with you (or in the worst case break up all teams and rebuild them from scratch, very costly ;-) I also think that the GPL would be a more fitting license for D, given the democratic process and the community aspect. But I would not modify the source then. So the license sure matters. MIT/BSD has traditionally been used for reference implementations for commercial closed source refinement. It is basically "take this and do whatever you want, no strings attached, but don't blame me for failures" licenses. But you need to choose, because in open source: product == source-code + license support == forums/community end users == people who download the source-code We are only end users, not D devs. Maybe later devs, but currently just end users that evaluate the "product", which includes the license.
 The real issue is that historically any programming language 
 didn't want a bunch of incompatible syntax dialects floating 
 around, as that makes it difficult for many devs to understand 
 what the language proper actually consists of.  That concern 
 about "fragmentation" is all Daniel and Dicebot were speaking 
 to.
I know a fair share of the history of programming languages. Lots of dialects did not make them less popular as a "group". On the contrary. It probably increased their proliferation. Inconvenient? Sure. Pascal would have died without Turbo Pascal, TP and C was better than regular Pascal… C++ and objective-C did not make C irrelevant. IMO C++ made it necessary to come up with much needed improvements to C that probably would never have come about if C++ did not exist. SQL and C leaves a lot of stuff implementation defined. The uptake of these 2 is huge. And what is a dialect and what is a new language? Aren't most C-like languages more or less dialects with the same root?
 However, I've noted that is not a reason to frown on syntax 
 experimentation like you and ketmar want to do, as your syntax 
 tweaking is far from a full-blown or popular dialect yet.  I've 
 also noted that there may be a modern solution to such a 
 problem, automated syntax translation for different dialects.
Yeah, that is my goal for my experiments for now. To have a distinct pre-amble in the head of each source code file and provide 2 parsers and keep it compatible with a restricted set of D (no GC). However a fork is no real threat to D for the following reasons: 1. Walter Bright is a good C++ programmer with intimate knowledge of the D compiler internals. If a D dialect is good he can implement the good features in the main branch with less effort. Copyright does not constrain this. (only patents) 2. To fund a fork you probably have to close the source code and target small specialised commercial markets. That means high licensing costs. Which in turn means that for every sale of a closed source dialect there will be 100s of users looking for a free version. It could looked upon as free marketing. This is my take on this: I don't think a fork is a bad thing, and I think BSD/MIT style licensing increase the probability of a fork down the road compared to GPL. The payoff for forking is simply higher with a liberal license.
Sep 16 2014
next sibling parent reply "Joakim" <dlang joakim.fea.st> writes:
On Tuesday, 16 September 2014 at 11:55:02 UTC, Ola Fosheim 
Grøstad wrote:
 I also think that the GPL would be a more fitting license for 
 D, given the democratic process and the community aspect.

 But I would not modify the source then. So the license sure 
 matters. MIT/BSD has traditionally been used for reference 
 implementations for commercial closed source refinement. It is 
 basically "take this and do whatever you want, no strings 
 attached, but don't blame me for failures" licenses.

 But you need to choose, because in open source:

 product == source-code + license
 support == forums/community
 end users == people who download the source-code

 We are only end users, not D devs. Maybe later devs, but 
 currently just end users that evaluate the "product", which 
 includes the license.
As I said, I think you're focusing on the license too much, as any open source license allows forking, though you're right that the MIT/BSD licenses usually provide more incentive to do so. Regardless of the license, some here view fragmenting dialects as a problem, ie the specter of fragmentation exists whatever the open source license chosen. I know you don't think fragmentation is an issue, but for every one "dialect" like Turbo Pascal or Obj-C that subsequently thrived, there are probably dozens that failed and merely muddied the waters. However, I think automated syntax translation might be a worthwhile solution for such syntax fragmentation these days.
 However a fork is no real threat to D for the following reasons:

 1. Walter Bright is a good C++ programmer with intimate 
 knowledge of the D compiler internals. If a D dialect is good 
 he can implement the good features in the main branch with less 
 effort. Copyright does not constrain this. (only patents)

 2. To fund a fork you probably have to close the source code 
 and target small specialised commercial markets. That means 
 high licensing costs. Which in turn means that for every sale 
 of a closed source dialect there will be 100s of users looking 
 for a free version. It could looked upon as free marketing.

 This is my take on this: I don't think a fork is a bad thing, 
 and I think BSD/MIT style licensing increase the probability of 
 a fork down the road compared to GPL. The payoff for forking is 
 simply higher with a liberal license.
Walter is well aware of the tradeoffs, as he's had his own code misappropriated before and still thinks the potential benefits of closed tools are worth it: http://forum.dlang.org/post/lni676$111r$1 digitalmars.com
Sep 16 2014
parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Tuesday, 16 September 2014 at 16:35:41 UTC, Joakim wrote:
 As I said, I think you're focusing on the license too much, as 
 any open source license allows forking, though you're right 
 that the MIT/BSD licenses usually provide more incentive to do 
 so.  Regardless of the license, some here view fragmenting 
 dialects as a problem, ie the specter of fragmentation exists 
 whatever the open source license chosen.
Ok, but is it then ok if a "forked syntax" looks like Algol? Is it still an unhealthy fork? Why does it matter whether DMD or clang is underneath? Walter keeps stating that he wants the forum behaviour to be professional. To me that means that the team that publish a product stands behind it in public, that includes the license, then keep the bickering internal to the team. If you sell an item with an instruction manual, you don't blame the user for pushing the wrong button if the instruction manual was flawed. You fix the instruction manual! X11 was published under MIT style license. It was (partially?) funded by a consortium. Member companies got advance access to the source so they could ship physical X displays with the latest X version before the public got access. This is to me captures the spirit of BSD/MIT style licenses. You get to do what you want, no strings attached, but the primary concern is to be commercial friendly. Semiotics matter. And MIT/BSD is associated with a tradition and a set of expectations, and so is GPL. 1. From MIT/BSD I expect commercial friendly to be first concern, community secondary. I expect the community to be more carefree. 2. From GPL I expect community friendly to be first concern, commercial secondary. I expect the community to be more emotionally involved. I think there is some anecdotal evidence that GPL projects often are better at grooming/growing their communities and that the GPL forks are merged back after a while (xemacs/se linux?), while BSD fork more easily and cooperate by copy-pasting back and forth between forks?
 muddied the waters.  However, I think automated syntax 
 translation might be a worthwhile solution for such syntax 
 fragmentation these days.
Yes, that is probably right.
 Walter is well aware of the tradeoffs, as he's had his own code 
 misappropriated before and still thinks the potential benefits 
 of closed tools are worth it:
Yeah sure, I already pointed out that I am certain that the implications of the license choice was deliberate to the original author.
Sep 17 2014
prev sibling parent reply =?UTF-8?Q?Tobias=20M=C3=BCller?= <troplin bluewin.ch> writes:
"Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang gmail.com> wrote: 
 This is my take on this: I don't think a fork is a bad thing, and I think
 BSD/MIT style licensing increase the probability of a fork down the road
 compared to GPL. The payoff for forking is simply higher with a liberal
license.
I think you are confusing the language with the compiler. The license gives you the right to take the compiler sources and do basically anything with it. But if that modified compiler compiles a different language than the official 'D', that does not automatically mean that you have the right to call that language fork 'D' and publish it on the D forum. I don't say that it's forbidden, it's just not covered by the compiler license. Tobi
Sep 17 2014
parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Wednesday, 17 September 2014 at 13:09:41 UTC, Tobias Müller 
wrote:
 basically anything with it. But if that modified compiler 
 compiles a
 different language than the official 'D', that does not 
 automatically mean
 that you have the right to call that language fork 'D' and 
 publish it on
 the D forum.
No misunderstanding on my part here. It would be plain stupid to call it just "D". (please note that you cannot trademark a letter or common single words)
Sep 17 2014
prev sibling parent reply "Dicebot" <public dicebot.lv> writes:
On Thursday, 11 September 2014 at 12:26:39 UTC, Ola Fosheim 
Grøstad wrote:
 On Monday, 8 September 2014 at 23:31:49 UTC, Dicebot wrote:
 And there are no NG rules that say I shouldn't write some 
 off-topic bullshit in your threads. Also clearly the only 
 reason why we don't casually walk around shooting people is 
 because laws prohibit doing so, otherwise it is perfectly 
 reasonable thing to do.
Listen to me, and listen carefully. If you want to challenge me verbally, please don't put your head on the chopping block. A verbal fight where you put yourself up for verbal annihilation is just no fun!
Looks like you have forgotten to use the "Listen, kid," approach. Would fit the theme and make your point so much more convincing.
 I truly believe you when you claim that you are a people's 
 person and that the community is more important to you than the 
 product/license. Unfortunately you completely undermine your 
 "people over license" argument by using abusive techniques that 
 are usually tied to brainwashed people-unfriendly cultists. 
 Techniques such as: trying to silence members by pointing out 
 their lack of worth, threatening by shunning and resorting to 
 ridicule.
Quite the opposite to most people I hold few sympathies for any specific personalities, only for communities in general. I believe in self-organizing systems and sometimes being loud and abusive is simply a best way to ensure the point being noted and remembered. The fact that this discussion still continues despite my absence in NG for some time is a good indicator of success. Community is important but community can be a bitch. Or some specific personalities in the community (I am not reluctant at all to take such role when needed). This is most important thing to remember when doing any open-source development with no clear organization - despite the fact that you comply to all licences/laws someone still can hate you (and also comply all the licences/laws!). There are pretty much only two options: - stop caring about such opinions (and being surprised when getting some load of abusive speech in return) - stop appealing to license/laws as the reason why you shouldn't be hated Neither of those annoys me. Obligation to be nice to someone simply because of the licence compliance however does make me angry.
 I don't hold the view that the D community is more valuable 
 than the product/license. The community is valuable, but the 
 end product is more important and the community has to fully 
 back the license and not undermine it.
Nothing I have said is against the license or undermines it in any way. You won't be ever sued for your actions. I won't even kill your kitten because of that. Only thing that changes is my personal attitude (which has nothing in common with "D development team" attitude by the way). It only becomes restriction if you chose to care. This is the beauty of decentralized systems/societies - implicit regulation without any formal rules.
 I am not here to increase my self worth, though I don't mind an 
 educated argument or a role playing stunt, I am here to 
 increase the probability of having a programming language that 
 is better than the alternatives for server programming within a 
 few years. With the current situation it will take another 
 decade.
Sorry but I don't see you helping right now. NG debates don't make any real differences - all D community members I respect have some specific projects and/or contributions that make them important. You can call that meritocratic and arrogant but I am here for a similar reason - get a good language I can use personally. Anything that does not get upstream is simply of no value to me.
 You appear to think that management == control. You come 
 through as a control freak, but I could be wrong.
You totally miss the point. For most time I ignore any kind of centralized management at all. Instead I rely on being aware of community "trends" to find opportunities for most pragmatical contributions that benefit both me and someone else. This is certain kind of implicit public contract - be nice and useful and you will get that in returns. The fact that it is never specified in any kind of licence or rule list does not mean it doesn't work that way in practice.
 For the D community to grow it has to play up to and appreciate 
 diversity and conflicting goals among the members. That means 
 you have to appreciate that people are participating for 
 reasons you don't share and have other goals than yourself.
Unless those goals seem to do more harm to _my_ goals than any possible contributions can do good. Then escalating the conflict is simply the most efficient outcome.
 What you are saying is basically that you disagree with the 
 license, so maybe Walter should have spent more time making 
 sure that he had backing for it in the community, but that is 
 an issue you have to take up with him. Not me or ketmar.
You have a funny understanding of Boost/MIT license concept. It is both funny and worrying in a sense that people seem to misinterpret concept of personal freedoms in a similar way. There is nothing in the license that forbids me to rage at you as much as there is nothing that prevents you from increasing the fragmentation. I wonder if there actually exists the licence that requires any user of the software to be polite with any other use of the software. Could be fun but. Most likely to be legally negligible though.
Sep 17 2014
parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Wednesday, 17 September 2014 at 17:37:04 UTC, Dicebot wrote:
 Unless those goals seem to do more harm to _my_ goals than any 
 possible contributions can do good. Then escalating the 
 conflict is simply the most efficient outcome.
Ok, but I am used to that. I grew up on Usenet at it's worst. I am not worried about me, but about coming down to hard on you with counter measures. If people go to far all they will achieve is that I switch into satirical roleplay, and that's not a game anyone can win since I will then cease to be me and blur the border between reality and fantasy. I'll try to avoid that in this context though, but it is fun, if you are into RP… It is really up to you. ;) Anyway, I appreciate that you are honest and don't hide your feelings. I prefer that over the alternative. :-)
Sep 17 2014
prev sibling parent reply "Joakim" <dlang joakim.airpost.net> writes:
On Monday, 8 September 2014 at 15:09:27 UTC, Dicebot wrote:
 Bullshit. Any kind of forking wastes most valuable resource 
 open source world can possibly have - developer attention. In 
 limited form it is compensated by ecnouraged competition and 
 breaking possible stagantion. When it becomes casual it is a 
 single biggest killer of all open source projects.
Yet it is part of the freedom of open source, as Ola and ketmar have pointed out. In any case, trading syntax patches with each other and experimenting with different dialects, which is all they've said they're doing so far, is far from a full fork. I see no reason for you to come down so hard on such experimentation.
Sep 08 2014
next sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 08 Sep 2014 16:02:34 +0000
Joakim via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 In any case, trading syntax patches with each=20
 other and experimenting with different dialects, which is all=20
 they've said they're doing so far, is far from a full fork.
and i'm clearly stated that i'm not planning to fork D in the nearest future (and Ola too, i believe). OP just asked what games other playing, to avoid duplicate work. that wasn't "let's fork D!" that wasn't "call to arms: let's push this into mainline!" and how we supposed to learn compiler internals without playing such small silly games? when someone adds some syntactic sugar, or new warning, or something like, it's a moment of "wow! i can into compiler writing too!" poking around with compiler source is a great way to learn. maybe just make "D.experiments" newsgroup for such talks, so newcomers will not be confused by discussion about some bizarre feature in "D.general"? this way we can make questions like OP's one less controversial, 'cause people will immediately see that this is not a thread about "let's include this feature in D NOW!"
Sep 08 2014
prev sibling parent reply "Dicebot" <public dicebot.lv> writes:
On Monday, 8 September 2014 at 16:02:35 UTC, Joakim wrote:
 On Monday, 8 September 2014 at 15:09:27 UTC, Dicebot wrote:
 Bullshit. Any kind of forking wastes most valuable resource 
 open source world can possibly have - developer attention. In 
 limited form it is compensated by ecnouraged competition and 
 breaking possible stagantion. When it becomes casual it is a 
 single biggest killer of all open source projects.
Yet it is part of the freedom of open source, as Ola and ketmar have pointed out. In any case, trading syntax patches with each other and experimenting with different dialects, which is all they've said they're doing so far, is far from a full fork. I see no reason for you to come down so hard on such experimentation.
Because original post had no learning context at all. I would gladly support initiative to provide more example-based tutorials for DMD contribution. Or any call for feedback based on existing patches. But it has nothing like that, instead focusing on "here is what I like to change in D so I keep local patches it" side of things. And this is really bad. Nothing is perfect and freedoms of open source come with their own drawbacks. I still find the benefits worth it but that doesn't mean that does mean that drawbacks are to be liked. Sometimes social aspect can be used as a counter-measure of technical flaw.
Sep 08 2014
next sibling parent reply "Dicebot" <public dicebot.lv> writes:
On Monday, 8 September 2014 at 23:39:17 UTC, Dicebot wrote:
 On Monday, 8 September 2014 at 16:02:35 UTC, Joakim wrote:
 On Monday, 8 September 2014 at 15:09:27 UTC, Dicebot wrote:
 Bullshit. Any kind of forking wastes most valuable resource 
 open source world can possibly have - developer attention. In 
 limited form it is compensated by ecnouraged competition and 
 breaking possible stagantion. When it becomes casual it is a 
 single biggest killer of all open source projects.
Yet it is part of the freedom of open source, as Ola and ketmar have pointed out. In any case, trading syntax patches with each other and experimenting with different dialects, which is all they've said they're doing so far, is far from a full fork. I see no reason for you to come down so hard on such experimentation.
Because original post had no learning context at all. I would gladly support initiative to provide more example-based tutorials for DMD contribution. Or any call for feedback based on existing patches. But it has nothing like that, instead focusing on "here is what I like to change in D so I keep local patches it" side of things. And this is really bad. Nothing is perfect and freedoms of open source come with their own drawbacks. I still find the benefits worth it but that doesn't mean that does mean that drawbacks are to be liked. Sometimes social aspect can be used as a counter-measure of technical flaw.
To stress this point a bit more - constant bikeshedding is already one the major problems with D development culture. Everyone has his own opinion about the best syntax sugar or key features missing. One thing I respect established DMD contributors for is that they are capable of prioritizing the bigger picture over own preferences, despite the fact there is no one actually defining that bigger picture. If anything, I'd much more appreciate a real full-blown fork with a different vision (there are actually few already present) than encouraging a fragmentation over trivialities.
Sep 08 2014
parent reply "Joakim" <dlang joakim.airpost.net> writes:
On Monday, 8 September 2014 at 23:48:54 UTC, Dicebot wrote:
 On Monday, 8 September 2014 at 23:39:17 UTC, Dicebot wrote:
 Because original post had no learning context at all. I would 
 gladly support initiative to provide more example-based 
 tutorials for DMD contribution. Or any call for feedback based 
 on existing patches. But it has nothing like that, instead 
 focusing on "here is what I like to change in D so I keep 
 local patches it" side of things. And this is really bad.
There may not yet be a learning context for the overall community, but there is for the small group of people who want to experiment with the different syntax that they've come up with. They may find that their syntax changes don't work as well as they thought and abandon them. A bunch of them may find one particular syntax change or addition to be very useful and push for it to be included in the mainline frontend. We won't know any of this till they experiment and talk to each other.
 Nothing is perfect and freedoms of open source come with their 
 own drawbacks. I still find the benefits worth it but that 
 doesn't mean that does mean that drawbacks are to be liked. 
 Sometimes social aspect can be used as a counter-measure of 
 technical flaw.
To stress this point a bit more - constant bikeshedding is already one the major problems with D development culture. Everyone has his own opinion about the best syntax sugar or key features missing. One thing I respect established DMD contributors for is that they are capable of prioritizing the bigger picture over own preferences, despite the fact there is no one actually defining that bigger picture. If anything, I'd much more appreciate a real full-blown fork with a different vision (there are actually few already present) than encouraging a fragmentation over trivialities.
But not everyone wants a full fork, they just want to tweak the syntax to best suit their preferences. One of the things I like about D is how it uses the old C-style syntax, so I don't have to rewire the C-style parser in my head every time I read D code. Others have different parsers in their heads however. ;) I've been thinking for some time that the solution to avoid source code formatting arguments is to have a formatter only show you source in the format you prefer, whether tabs over spaces or egyptian braces. Perhaps the same is possible for syntax to a large extent, ie you download D source and your editor automatically runs it through a syntax translator so that you see the syntax you prefer. This doesn't have to be part of the compiler, it can be done by other tools, though perhaps such translation tools would likely be built on the DDMD frontend. Perhaps this is a first step in experimenting with such syntax translation, or maybe it doesn't go anywhere. Let's not worry about fragmentation because of some small experiments.
Sep 09 2014
parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 09 Sep 2014 10:04:46 +0000
Joakim via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Perhaps the same is possible for syntax to a=20
 large extent, ie you download D source and your editor=20
 automatically runs it through a syntax translator so that you see=20
 the syntax you prefer.
i'm planning to write such tool using Dparser (if it can power DCD and Dscanner, i'm sure it can power this tool too). this way i can use "my own shiny D dialect" to write my code and simply convert it to "mainline D" before sending to anyone else. and in the end i can found that i'm not using my synactic sugar that much, for example. ;-) btw: i'll investigate hdrgen feature soon. i believe that it can be used as a base to build full-blown pretty-printer, maybe even with simple configs.
Sep 09 2014
prev sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 08 Sep 2014 23:39:15 +0000
Dicebot via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Because original post had no learning context at all.
and we have no NG to ask such questions. this NGs is the main point of connection for D users. where he should ask his question if not here? we have no "D.experiments" or such (as i written before), and this is not for "D.learning" too. so... ah, yes, i see: he can start his own forum then. and answer his own questions by himself. right? you are overreacting. this is not the post "let's do five more incompatible D versions!", neither "let's start crusade!". OP just asking what private patches other has. that's all. it's exactly like my thread about code cleanup, which turned to "github or GTFO" thread, yet i just informed people and don't even use word "github" there. i can't see how we can hurt D by talking about our experiments. yet i clearly see how *you* can hurt D with "never do anything that is not blessed by the Gods or you will be punished!" attitude. let me stress it: this it NOT ABOUT FORKING AT ALL. this is about "hey, people, tell me about things your playing with in your free time!" and now you telling us that we should stop playing with *free* *and* *open* *code*. or at least be ashamed of what we are doing. i'm not sure that this is the good way to get more contributors. you killing "fun factor", which is the main driving force of FOSS (besides money, of course). we all have jobs, and families, and life besides D. yet some of us loves D so much that we are willingly spending our free time studying compiler source code. yes, adding seemingly useless features is one of many ways to learn compiler internals. and closing way of communication is one of the best ways to turning people off completely. or at least convert 'em from "potential contributors" to "silent users". so silent that they not interested in spreading the word even to their friends, less so to workmates. please, don't turn such people off. 'cause your posts make me think that making my own independend D fork is not such a bad idea after all. maybe Ola too. then our forks will inevitable diverges so much that any of our code will be unusable for "mainline" compiler (and "mainline" code for ours). lose-lose. we'll eventually drop our forks and whole D with them. and then our friends and workmates will say: "ah, that's so understandable... we are glad that you stoped playing with your new shiny toy, now let's return to the *real* *language*." people make patches 'cause they like D, not 'cause they hate D. it's not harmful. forcing such people to leave official NG will not do any good.
Sep 08 2014
parent reply "Dicebot" <public dicebot.lv> writes:
On Tuesday, 9 September 2014 at 00:24:18 UTC, ketmar via 
Digitalmars-d wrote:
 let me stress it: this it NOT ABOUT FORKING AT ALL. this is 
 about "hey,
 people, tell me about things your playing with in your free 
 time!" and
 now you telling us that we should stop playing with *free* 
 *and* *open*
 *code*. or at least be ashamed of what we are doing.
If actually using any of those patches (or recommending to do it) was never your intention, I apologize. However you have earlier made several comment about maintaing own set of patches for things that don't seem to be accepted upstream and that has been the deciding factor in the most negative interpretation of the thread. Probably it was more of a sarcasm thing but you can never be sure on the internet. Actually I got more angry of Ola "license > people" attitude than any of your experiments. In general I respect any kind of personal preferences unless those get spoken out loud in "this is the right thing to do" style
 and we have no NG to ask such questions. this NGs is the main 
 point of
 connection for D users. where he should ask his question if not 
 here?
This NG is appropriate place for asking such questions but exact wording used was most confusing and didn't resemble any sort of learning / experimental topic. Sorry for misunderstanding your intention but being more precise about intentions can help to avoid it.
 please, don't turn such people off. 'cause your posts make me 
 think
 that making my own independend D fork is not such a bad idea 
 after all.
It can be both a good and a bad idea for reasons I have already mentioned. Most likely impractical because of plain amount of effort involved but it is clearly better than sticking to private patches (almost) no one else uses.
Sep 08 2014
parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 09 Sep 2014 00:44:30 +0000
Dicebot via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 However you have earlier=20
 made several comment about maintaing own set of patches for=20
 things that don't seem to be accepted upstream
i'm still doing this, 'cause i found some things inconsistent and worth fixing even if this breaks compatibility with some old code. but this new features are used in my private libraries that i'm not intending to make public (albeit some of them are accessible on repo.or.cz). while i'm still sure that some changes should be accepted to mainline, i don't want to fight for this. by the way: i'm not topicstarter. ;-)
 that making my own independend D fork is not such a bad idea=20
 after all.
It can be both a good and a bad idea for reasons I have already=20 mentioned. Most likely impractical because of plain amount of=20 effort involved but it is clearly better than sticking to private=20 patches (almost) no one else uses.
what is the difference between "fork" and "building HEAD dmd with private patches applied"? i already forked dmd, just don't feel that i have to make it public. btw: Lua has officially-blessed page "Lua power patches" in it's wiki. i can't see why D can't.
Sep 09 2014
prev sibling parent Timon Gehr <timon.gehr gmx.ch> writes:
On 09/08/2014 04:58 PM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
<ola.fosheim.grostad+dlang gmail.com>" wrote:
comics are not on topic,
The topic of a comic is arbitrary.
Sep 08 2014
prev sibling parent "Gary Willoughby" <dev nomad.so> writes:
On Monday, 8 September 2014 at 14:09:15 UTC, Dicebot wrote:
 With many freedoms come many responsibilities. The fact that 
 you can fork the syntax and no one sue you for it (or actively 
 try to stop you from doing it) does not mean that it won't harm 
 your public image and overall attitude from some of community 
 members. I think http://xkcd.com/1357/ fits the spirit here 
 quite nicely.
Jesus, calm down. It's open source software, he can do what he wants with it as long as the license is obeyed. If he wants to fork it and experiment, let him.
Sep 08 2014
prev sibling next sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 8 Sep 2014 12:41:32 +0300
ketmar via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Attempting to fork D's syntax is harmful to D.  Please stop.=20
it's easy: just close the code. this will effectively stop people who want to experiment.
or, without closing: just write it all in spaghetti-code that nobody is able to understand anymore. autogenerate, obfuscate, etc. such code is still technically "open", but has perfect protection from forking and changing.
Sep 08 2014
prev sibling parent reply Iain Buclaw via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 8 September 2014 10:37, Daniel Murphy via Digitalmars-d
<digitalmars-d puremagic.com> wrote:
 "Ola Fosheim Grøstad" " wrote in message
 news:adjmadefxvblysylyvto forum.dlang.org...

 I've started to make some minor mods to the DMD parser to tailor it to my
 own taste, but there is no reason to do double work, even if experimental.
 So I wonder which patches are available or in the works by others?
Attempting to fork D's syntax is harmful to D. Please stop.
You can't stop people from exercising their Freedom #1 (modify) and #3 (redistribute modified copies) of software under a free license. Anyway, it's never been of harm to anyone. Take Amber for instance, which is a very obvious fork of syntax, right down to a "What we fixed about D" page. https://bitbucket.org/larsivi/amber/wiki/Diff_D1 Iain.
Sep 16 2014
parent reply "monarch_dodra" <monarchdodra gmail.com> writes:
On Tuesday, 16 September 2014 at 17:16:28 UTC, Iain Buclaw via 
Digitalmars-d wrote:
 On 8 September 2014 10:37, Daniel Murphy via Digitalmars-d
 Attempting to fork D's syntax is harmful to D.  Please stop.
You can't stop people from exercising their Freedom #1 (modify) and #3 (redistribute modified copies) of software under a free license.
Right, but I think that fits in nicely with the "You have the right to do it, but I can decide you are an asshole for it". For instance, I can't stop Ketmar from bitching about the "problems" with D, and how his solutions are our godsend, but I can decide that he is also an entitled prick who's not even worth taking the time writing off.
 Anyway, it's never been of harm to anyone.  Take Amber for 
 instance,
 which is a very obvious fork of syntax, right down to a "What 
 we fixed
 about D" page.

 https://bitbucket.org/larsivi/amber/wiki/Diff_D1

 Iain.
I'd say it's really a matter of how and why you are doing it, and how you are presenting it. The way Ola presented his work looked more like experiment and proof of concept. It's constructive. The changes (mostly) adhered to D's current philosophy. I think he was just trying to find out who was doing the same, and I have no trouble with it. I can see Dicebot's point of view, but I think it totally blew out of proportions after the 1st post. However, gratuitous (and deliberate) forking of the language just to address your own petty design issues I have more problems with. Sure you can do it, but I think that if you do, you should GTFO.
Sep 16 2014
next sibling parent Iain Buclaw via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 16 September 2014 19:53, monarch_dodra via Digitalmars-d
<digitalmars-d puremagic.com> wrote:
 On Tuesday, 16 September 2014 at 17:16:28 UTC, Iain Buclaw via Digitalmars-d
 wrote:
 On 8 September 2014 10:37, Daniel Murphy via Digitalmars-d
 Attempting to fork D's syntax is harmful to D.  Please stop.
You can't stop people from exercising their Freedom #1 (modify) and #3 (redistribute modified copies) of software under a free license.
Right, but I think that fits in nicely with the "You have the right to do it, but I can decide you are an asshole for it". For instance, I can't stop Ketmar from bitching about the "problems" with D, and how his solutions are our godsend, but I can decide that he is also an entitled prick who's not even worth taking the time writing off.
 Anyway, it's never been of harm to anyone.  Take Amber for instance,
 which is a very obvious fork of syntax, right down to a "What we fixed
 about D" page.

 https://bitbucket.org/larsivi/amber/wiki/Diff_D1

 Iain.
I'd say it's really a matter of how and why you are doing it, and how you are presenting it. The way Ola presented his work looked more like experiment and proof of concept. It's constructive. The changes (mostly) adhered to D's current philosophy. I think he was just trying to find out who was doing the same, and I have no trouble with it. I can see Dicebot's point of view, but I think it totally blew out of proportions after the 1st post. However, gratuitous (and deliberate) forking of the language just to address your own petty design issues I have more problems with. Sure you can do it, but I think that if you do, you should GTFO.
s/GTFO/Not expect any support for it here, in both code changes and runtime anomalies/ It doesn't hurt to say things in the polite manner. Iain.
Sep 17 2014
prev sibling parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Tuesday, 16 September 2014 at 18:53:34 UTC, monarch_dodra 
wrote:
 For instance, I can't stop Ketmar from bitching about the 
 "problems" with D, and how his solutions are our godsend, but I 
 can decide that he is also an entitled prick who's not even 
 worth taking the time writing off.
Nah, it's just his way of being funny. You just don't share his humour. :) Please also remember that newbies that are excited are noisy. They want to find other people with the same outlook and don't know the "unwritten rules" yet. Hot tip. If you want to grow bigger, always be nice to n00bz and give them enough time to find their spot. N00bs are alwasy noisy in the start, and if other n00bs see that you treat one n00b badly they might choose to remain in lurking mode. Appreciate all the n00bs you get, it is good marketing. I am a lot more annoyed by D team members calling themselves lieutenants. I suppose this is someone's bad humour too. As a former airforce soldier (compulsory service) I just think "ewwwww *PUKE*" when I see the term being used… The army is the worst possible role model for software development IMO, it sucks! (It deprives you of initiative and individuality. You're just a wheel in a big machine.)
 and how you are presenting it. The way Ola presented his work 
 looked more like experiment and proof of concept. It's 
 constructive. The changes (mostly) adhered to D's current 
 philosophy. I think he was just trying to find out who was 
 doing the same, and I have no trouble with it.
I am trying to find out if there are maintained patches so I can avoid doing stuff that has been done already in my own experiments. Time's precious to everyone, even dissidents!
 However, gratuitous (and deliberate) forking of the language 
 just to address your own petty design issues I have more 
 problems with. Sure you can do it, but I think that if you do, 
 you should GTFO.
Wouldn't that depend on how and why you do it? If I (against all odds) end up with something I think works better than the current state, and the mainline does not want it. Why would I want to throw it in the garbage bin? Surely the better approach would be to share it and gather feedback on it from others, then improve it for those that want the improvements (if significant and worthwhile). If I (against all odds) should conclude that I can spend 30% of my work time on adding and removing features that makes using a D derivative in a commercial setting possible (like for cloud computing) then I think that would be a good thing, even if it implies forking a closed source version of D. D would still receive bug fixes. The alternative is to spend that 30% on Go and then Go will receive the bug fixes... (if it is buggy). Go is currently a better server platform, but I like the basics of D better. I'd like to see D take the Go spot. I don't think that will happen with the current D focus, because the D development spreads itself thin over a wide range of application areas. How can D compete with Go without a fork? I dunno. I am not ready to fork D, but if commercially viable, why not? Please note that I don't think this is viable at the moment. I just want to know why you would oppose it. Cheers, Ola.
Sep 17 2014
prev sibling next sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 08 Sep 2014 08:51:09 +0000
via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 What are you working on and what patches do you have?
lexer: * stop validating UTF-8 in comments * native-encoded strings (n"...") parser: * foreach (auto n; ...) * foreach (auto; ...) * foreach (; ...) * lambdas: (auto, auto) =3D> ... * pure, nothrow * safe, trusted (w/o ' ') * "kill-the-commas" * "kill-c-arrays" * virtual (yes, i remember the discussion, but i NEED a way to revert "final:"!) semiworking * nonstatic (for the same reason as virtual) semiworking * planing: gc and throw (for the same reason again) * ...and maybe generic [ ]!... (!final, !static, !nogc and so on) now i'm trying to dive into semantic parts of the compiler to increase area of wreckage.
Sep 08 2014
parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 09:38:54 UTC, ketmar via 
Digitalmars-d wrote:
 parser:
 * foreach (auto n; ...)
 * foreach (auto; ...)
 * foreach (; ...)
 * lambdas: (auto, auto) => ...
 *  pure,  nothrow
 * safe, trusted (w/o ' ')
 * "kill-the-commas"
 * "kill-c-arrays"
 *  virtual (yes, i remember the discussion, but i NEED a way to 
 revert
   "final:"!) semiworking
 *  nonstatic (for the same reason as  virtual) semiworking
 * planing:  gc and  throw (for the same reason again)
 * ...and maybe generic [ ]!... (!final, !static,  !nogc and so 
 on)
Thank you for this list, finally someone made an on-topic response! Please keep me (and others with the same interest) oriented in this thread about other changes you are making when you get to look at other aspects of the language. I'll use your "kill-*" patches and more, for sure!
 now i'm trying to dive into semantic parts of the compiler to 
 increase area of wreckage.
;-)
Sep 08 2014
parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 08 Sep 2014 13:40:46 +0000
via Digitalmars-d <digitalmars-d puremagic.com> wrote:

fun fact: "kill-the-commas" is a play on old demo titled "kill the
clone". i don't even remember what effects was in this demo, but i
still remember the name.
Sep 08 2014
prev sibling next sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 08 Sep 2014 08:51:09 +0000
via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 in :  #arr;
 out:  arr.length //or perhaps something more generic?
why not '$arr'? '$' is already established for 'length'.
Sep 08 2014
parent reply "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 09:40:29 UTC, ketmar via 
Digitalmars-d wrote:
 On Mon, 08 Sep 2014 08:51:09 +0000
 via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 in :  #arr;
 out:  arr.length //or perhaps something more generic?
why not '$arr'? '$' is already established for 'length'.
Primarily because '$x' is usually used for variables in other languages and I am already familiar with '#' for length (e.g. perl), but it would be easy to change. Though I expect to add 'arr[#-1]' as an option.
Sep 08 2014
parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 08 Sep 2014 13:33:09 +0000
via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Primarily because '$x' is usually used for variables in other=20
 languages
that's great! confusing people is fun.
Sep 08 2014
parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Monday, 8 September 2014 at 14:21:01 UTC, ketmar via 
Digitalmars-d wrote:
 On Mon, 08 Sep 2014 13:33:09 +0000
 via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 Primarily because '$x' is usually used for variables in other 
 languages
that's great! confusing people is fun.
Yeah! Confusing OTHER people is fun. I plan to use $ for something else, though... (And I try to avoid confusing myself!) :-]
Sep 08 2014
prev sibling next sibling parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 09/08/2014 10:51 AM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
<ola.fosheim.grostad+dlang gmail.com>" wrote:
 What kind of syntactical sugar do you feel is missing in D?
int square(int x)=>x*x;
Sep 08 2014
next sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Mon, 08 Sep 2014 17:25:07 +0200
Timon Gehr via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 int square(int x)=3D>x*x;
noted.
Sep 08 2014
parent reply Marco Leise <Marco.Leise gmx.de> writes:
Am Mon, 8 Sep 2014 18:34:10 +0300
schrieb ketmar via Digitalmars-d <digitalmars-d puremagic.com>:

 On Mon, 08 Sep 2014 17:25:07 +0200
 Timon Gehr via Digitalmars-d <digitalmars-d puremagic.com> wrote:
=20
 int square(int x)=3D>x*x;
noted.
To clarify: There is x^^2, but the implementation uses pow(x,2) and presumably yields a "real" result instead of an integer. So in that case the correct solution would be to special case int^^int. --=20 Marco
Sep 08 2014
parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 09/08/2014 07:00 PM, Marco Leise wrote:
 Am Mon, 8 Sep 2014 18:34:10 +0300
 schrieb ketmar via Digitalmars-d <digitalmars-d puremagic.com>:

 On Mon, 08 Sep 2014 17:25:07 +0200
 Timon Gehr via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 int square(int x)=>x*x;
noted.
To clarify:
The above is not valid D 2.066 syntax. Your apparent confusion supports a point I made in favour of it some time ago though. My post was about function declaration syntax, not squaring numbers. I assume Ola will still want to support x though. :o)
 There is x^^2, but the implementation uses pow(x,2)
Is this really still true?
 and presumably yields a "real" result
No, both pow(x,2) and x^^2 yield an 'int' result.
Sep 08 2014
next sibling parent "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Timon Gehr"  wrote in message news:luko1s$otb$1 digitalmars.com... 

 There is x^^2, but the implementation uses pow(x,2)
Is this really still true?
x^^2 will be optimized by the fronend to x*x
Sep 08 2014
prev sibling parent reply Marco Leise <Marco.Leise gmx.de> writes:
Am Mon, 08 Sep 2014 19:12:22 +0200
schrieb Timon Gehr <timon.gehr gmx.ch>:

 On 09/08/2014 07:00 PM, Marco Leise wrote:
 Am Mon, 8 Sep 2014 18:34:10 +0300
 schrieb ketmar via Digitalmars-d <digitalmars-d puremagic.com>:

 On Mon, 08 Sep 2014 17:25:07 +0200
 Timon Gehr via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 int square(int x)=3D>x*x;
noted.
To clarify:
=20 The above is not valid D 2.066 syntax. Your apparent confusion supports a point I made in favour of it some=20 time ago though. My post was about function declaration syntax, not=20 squaring numbers. I assume Ola will still want to support x=C2=B2 though.=
:o) I have to say, that was clever. I really didn't notice the wrong syntax until now. It doesn't get my vote though to keep some uniformness in function/method definitions. One time fire and forget lambdas are something different. They appear in the middle of expressions etc.
 There is x^^2, but the implementation uses pow(x,2)
=20 Is this really still true? =20
 and presumably yields a "real" result
=20 No, both pow(x,2) and x^^2 yield an 'int' result.
Ok, memorized. --=20 Marco
Sep 08 2014
parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 9 Sep 2014 02:41:25 +0200
Marco Leise via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 I have to say, that was clever. I really didn't notice the
 wrong syntax until now. It doesn't get my vote though to keep
 some uniformness in function/method definitions. One time fire
 and forget lambdas are something different. They appear in the
 middle of expressions etc.
this is nice syntax for simple getters, for example. not really necessary, but still nice.
Sep 08 2014
prev sibling parent reply "Peter Alexander" <peter.alexander.au gmail.com> writes:
On Monday, 8 September 2014 at 15:25:11 UTC, Timon Gehr wrote:
 On 09/08/2014 10:51 AM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
 <ola.fosheim.grostad+dlang gmail.com>" wrote:
 What kind of syntactical sugar do you feel is missing in D?
int square(int x)=>x*x;
Unfortunately we still can't just write: alias square = x => x * x; but you can do this: alias id(alias A) = A; alias square = id!(x => x * x);
Sep 11 2014
parent "Meta" <jared771 gmail.com> writes:
On Thursday, 11 September 2014 at 20:02:22 UTC, Peter Alexander 
wrote:
 On Monday, 8 September 2014 at 15:25:11 UTC, Timon Gehr wrote:
 On 09/08/2014 10:51 AM, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
 <ola.fosheim.grostad+dlang gmail.com>" wrote:
 What kind of syntactical sugar do you feel is missing in D?
int square(int x)=>x*x;
Unfortunately we still can't just write: alias square = x => x * x; but you can do this: alias id(alias A) = A; alias square = id!(x => x * x);
https://github.com/D-Programming-Language/dmd/pull/3638
Sep 11 2014
prev sibling next sibling parent "eles" <eles eles.com> writes:
On Monday, 8 September 2014 at 08:51:10 UTC, Ola Fosheim Grøstad 
wrote:

 I'm currently working on the following mods (not thoroughly 
 tested yet):
 What kind of syntactical sugar do you feel is missing in D?
//inclusive range in : a ... b out: a .. (b+1) //range as start/length in : a .$. b out: a .. (a+b) Not sure if this was implemented or not yet: in: typename[$] x out: typename[x.length] x //well, kind of But, I agree, I am not fan of forking D now. But I have nothing against it. Pretty sure that D started as a kind of fork of C or C++ at some point...
Sep 08 2014
prev sibling next sibling parent reply "AsmMan" <jckj33 gmail.com> writes:
On Monday, 8 September 2014 at 08:51:10 UTC, Ola Fosheim Grøstad 
wrote:
 I've started to make some minor mods to the DMD parser to 
 tailor it to my own taste, but there is no reason to do double 
 work, even if experimental. So I wonder which patches are 
 available or in the works by others?

 I'm currently working on the following mods (not thoroughly 
 tested yet):

 in : templatename‹params›
 out: templatename!(params)
Why dou want to turn it into C++'s style? it will slow down the compiler time because we need to look at symbol table the type of templatename because it might be a comparasion using < operator like this: a<b
 in : templatename«params»
 out: templatename!"params"
Why quote a paramter as string?
 in : a := expr
 out: auto a = expr
is this declaration? following (fortran?) rules: variable used in assignment without a previously declaration has implicit type? this isn't very good.
 in : a :== expr
 out: immutable a = expr

 And plan to continue with:

 in :  √x+y
 out:  sqrt(x) + y

 in :  a•b
 out:  a.opInner(b) // dot product, maybe some other name?

 in :  #arr;
 out:  arr.length //or perhaps something more generic?

 What are you working on and what patches do you have?
I didn't find this one so bad but these symbols are hard to type on usual keyboard...
Sep 09 2014
next sibling parent reply ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 09 Sep 2014 13:15:55 +0000
AsmMan via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 in : templatename=E2=80=B9params=E2=80=BA
 out: templatename!(params)
Why dou want to turn it into C++'s style?
look carefully: it's not "<", it's completely different unicode char.
 in : templatename=C2=ABparams=C2=BB
 out: templatename!"params"
Why quote a paramter as string?
it looks prettier.
Sep 09 2014
next sibling parent reply Andre Kostur <andre kostur.net> writes:
On 2014-09-09, 6:55 AM, ketmar via Digitalmars-d wrote:
 On Tue, 09 Sep 2014 13:15:55 +0000
 AsmMan via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 in : templatename‹params›
 out: templatename!(params)
Why dou want to turn it into C++'s style?
look carefully: it's not "<", it's completely different unicode char.
Isn't that kind of a problem that you had to point that out? If the code isn't readable, I'd count that as a con. And as someone else mentioned elsewhere.. how would you type that? As I recall, Ada had a special keyboard... are you suggesting that we (programmers) go down that path again?
Sep 09 2014
next sibling parent reply "AsmMan" <jckj33 gmail.com> writes:
On Tuesday, 9 September 2014 at 14:50:37 UTC, Andre Kostur wrote:
 On 2014-09-09, 6:55 AM, ketmar via Digitalmars-d wrote:
 On Tue, 09 Sep 2014 13:15:55 +0000
 AsmMan via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 in : templatename‹params›
 out: templatename!(params)
Why dou want to turn it into C++'s style?
look carefully: it's not "<", it's completely different unicode char.
Isn't that kind of a problem that you had to point that out? If the code isn't readable, I'd count that as a con. And as someone else mentioned elsewhere.. how would you type that? As I recall, Ada had a special keyboard... are you suggesting that we (programmers) go down that path again?
IIRC, Ada operators are plain US-ASCII. The programming language (which I was trying to call name in above post) and you're probably talking about is APL: http://en.wikipedia.org/wiki/APL_%28programming_language%29
Sep 09 2014
parent Andre Kostur <andre kostur.net> writes:
On 2014-09-09, 8:07 AM, AsmMan wrote:

 IIRC, Ada operators are plain US-ASCII. The programming language (which
 I was trying to call name in above post) and you're probably talking
 about is APL:

 http://en.wikipedia.org/wiki/APL_%28programming_language%29
You're right. I've been programming a while and even that language predates me :)
Sep 10 2014
prev sibling parent ketmar via Digitalmars-d <digitalmars-d puremagic.com> writes:
On Tue, 09 Sep 2014 07:50:37 -0700
Andre Kostur via Digitalmars-d <digitalmars-d puremagic.com> wrote:

it's not my patches, i'm strongly against unicode chars. ask the author
instead. ;-)
Sep 09 2014
prev sibling parent reply "AsmMan" <jckj33 gmail.com> writes:
On Tuesday, 9 September 2014 at 13:56:10 UTC, ketmar via 
Digitalmars-d wrote:
 On Tue, 09 Sep 2014 13:15:55 +0000
 AsmMan via Digitalmars-d <digitalmars-d puremagic.com> wrote:

 in : templatename‹params›
 out: templatename!(params)
Why dou want to turn it into C++'s style?
look carefully: it's not "<", it's completely different unicode char.
*do you I hadn't noticied.
 in : templatename«params»
 out: templatename!"params"
Why quote a paramter as string?
it looks prettier.
How will it works to multiple parameters? There's a programming language (I don't recall its name now) that you need to a "special" keyboard just to type its operators. Looks like it is the case. Remember C# is called so and not C♯ because not everyone can type ♯ symbol easily in its keyboards. Such an operators in a programming language may be cool (like the pow one, in special) but don't expect it's going to be much successfully.
Sep 09 2014
next sibling parent reply "Wyatt" <wyatt.epp gmail.com> writes:
On Tuesday, 9 September 2014 at 15:00:05 UTC, AsmMan wrote:
 There's a programming language (I don't recall its name now)
"A programming language", you say? Wouldn't you know it, that's the one! ;)
 that you need to a "special" keyboard just to type its 
 operators.
APL actually has really neat semantics (seriously, every programmer would do well to at least learn _how APL works_) but, yeah, the keymap is kind of a bit much. An IME would work well, though.... -Wyatt
Sep 09 2014
parent Timon Gehr <timon.gehr gmx.ch> writes:
On 09/09/2014 07:05 PM, Wyatt wrote:
 APL actually has really neat semantics (seriously, every programmer
 would do well to at least learn _how APL works_) ...
One can do this quite efficiently e.g. here: http://tryapl.org/
Sep 10 2014
prev sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/9/14, 8:00 AM, AsmMan wrote:
 There's a programming language (I don't recall its name now) that you
 need to a "special" keyboard just to type its operators.
APL
Sep 10 2014
prev sibling parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Tuesday, 9 September 2014 at 13:15:56 UTC, AsmMan wrote:
 in : templatename‹params›
 out: templatename!(params)
Why dou want to turn it into C++'s style? it will slow down the compiler time because we need to look at symbol table the type
Good question. I look at my D1 code and it is visually pleasing to look at. I look at D2 code and it looks like line noise in comparison. This is just an experiment where I implement stuff that is easy to fix in the existing parser without changing too much. The ideal solution is to write a completely new parser with a new and more coherent syntax, but this is sufficient to get some ideas. I won't know if I think it is a good or bad idea until I have played with it for several months or so. I want D2 features, but I also want a clear visual image in my editor.
 I didn't find this one so bad but these symbols are hard to 
 type on usual keyboard...
Yeah, but sometimes compact syntax is more important. It is worth experimenting with it, so I've started with symbols that are available on my own keyboard although I will do square(), logic symbols etc if it turns out to be a nice feature. Again, I can't tell until I've tried it for a while.
Sep 11 2014
prev sibling next sibling parent "Wyatt" <wyatt.epp gmail.com> writes:
On Monday, 8 September 2014 at 08:51:10 UTC, Ola Fosheim Grøstad 
wrote:
 What kind of syntactical sugar do you feel is missing in D?
Sort of in the vein of this discussion, one thing I'd like to see is a (smallish) set of special operators that have no meaning unless explicitly overloaded. I've considered writing a DIP for it, but I simply don't have the time to work out all the kinks and give it due diligence. (For example my thought of just using the extant operators surrounded with parentheses (e.g. foo (+) bar) probably wouldn't fly for some reason or another.) -Wyatt
Sep 09 2014
prev sibling parent reply Iain Buclaw via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 8 September 2014 09:51, via Digitalmars-d
<digitalmars-d puremagic.com> wrote:
 I've started to make some minor mods to the DMD parser to tailor it to my
 own taste, but there is no reason to do double work, even if experimental.
 So I wonder which patches are available or in the works by others?

 I'm currently working on the following mods (not thoroughly tested yet):

 in : templatename‹params›
 out: templatename!(params)

 in : templatename«params»
 out: templatename!"params"

 in : a := expr
 out: auto a = expr

 in : a :== expr
 out: immutable a = expr

 And plan to continue with:

 in :  √x+y
 out:  sqrt(x) + y

 in :  a•b
 out:  a.opInner(b) // dot product, maybe some other name?

 in :  #arr;
 out:  arr.length //or perhaps something more generic?

 What are you working on and what patches do you have?

 What kind of syntactical sugar do you feel is missing in D?
You should read up on a programming language called Neat. Though I can't say that the crazier unicode syntax made it to the publicly available product, some of the things that it does do are (I'm guessing here): // Essentially a foreach while auto id <- lines[1 .. $] { } // Because parenthesis are optional, uses ':' to terminate a loop condition. for st <- splitAt(",", id): doSomething(st); // Casting. int x = 0; float y = float:x; // Formatted strings do local/global variable lookups. writeln("FPS: $fps"); // No clue what he was thinking here... template Blorg(T) <<EOT struct Blorg { T t; } EOT Iain.
Sep 16 2014
parent "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= writes:
On Tuesday, 16 September 2014 at 17:09:41 UTC, Iain Buclaw via 
Digitalmars-d wrote:
 You should read up on a programming language called Neat.
Thanks for the tip!
 // Casting.
 int x = 0; float y = float:x;
Yeah, I thought about that, but then I think declarations should follow the same syntax. Something like this: x:int = 0; y:float = x:float; But the similarity might be confusing. Then again, lisp syntax is very uniform, and some people love it. I guess some changes have to be tested for while to figure out what works without preconception-bias. Ola.
Sep 17 2014