Migrating D front end to D - post Dconf
Jesse Phillips
Jesse.K.Phillips+D at gmail.com
Mon May 13 20:39:15 PDT 2013
On Saturday, 11 May 2013 at 15:09:24 UTC, Iain Buclaw wrote:
> Actually, the more I sit down and think about it, the more I
> question
> whether or not it is a good idea for the D D front end to have
> a dependency
> on phobos. Maybe I should stop thinking in general. :)
>
> Regards
Let me restate the issues to be clear on what I think is being
said, and the my opinion.
== On GDC:
There is an flag to have the compiler built without dependencies
of druntime/phobos. Someone interested in a Phobos free compiler
would the be required to have Phobos to build their compiler.
- While this is the same person, I don't see that they will
require the same restriction when building the compiler. My guess
is the environment used to build the compiler has fewer
restrictions, such as the having gcc/ubuntu available. Thus it is
reasonable to expect them to have the needed libraries to build
their compiler.
- Similarly, even if we restrict to just using druntime, the one
interested in a druntime free compiler still runs into the issue.
== On Compiling older Compilers:
Checkout compiler source for an older compiler and gcc will build
it. By switching to D, not only do we locate the source for the
compiler we are building we must have the version of D used to
build that compiler (or within the some window)
- I think it would be positive to say, each dmd version compiles
with the previous release and itself (possibly with -d). This
gives a feel for what changes are happening, and the more Phobos
used the better.
- We can't eliminate the problem, if we only rely on druntime,
everything still applies there. Instead we just need a consistent
and/or well documented statement of which compiler versions
compile which compiler versions.
In conclusion, it is a real problem. But it is nothing we can
eliminate. We should look at reducing the impact not through
reducing the dependency, but instead through improvement of our
processes for introducing breaking changes. Such concentration
will not be limited to benefiting DMD, but instead every project
which must deal with older code in some fashion.
More information about the Digitalmars-d
mailing list