Which patches/mods exists for current versions of the DMD parser?
via Digitalmars-d
digitalmars-d at puremagic.com
Tue Sep 16 04:54:57 PDT 2014
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.
More information about the Digitalmars-d
mailing list