[OT] Clang seems to implement modules
Paulo Pinto
pjmlp at progtools.org
Mon Nov 19 01:58:52 PST 2012
On Sunday, 18 November 2012 at 21:21:12 UTC, Jonathan M Davis
wrote:
> On Sunday, November 18, 2012 12:53:59 Walter Bright wrote:
>> There was a proposal to add modules to C++11, but it failed to
>> gather much
>> interest.
>
> Honestly, it's the sort of thing that I would have thought
> wouldn't even be
> possible in C++, because it would require too much of a
> redesign and would
> break backwards compatibility. There a lot of things like that
> in C++ which
> are completely unfixable without breaking backwards
> compatibility, and if
> you're doing that, you might as well go all the way and create
> a new language,
> since there are so many things that should be fixed/changed
> that it wouldn't
> really be C++ anymore by the time that you were done (it would
> probably be
> something much closer to D). It'll be interesting to see how
> they actually
> implement a module feature.
I don't see what it would break, besides the pre-processor usage.
Modules mean that the compilers just need to read a symbol table
or an AST from an external file.
>
> Also, I think that so many C/C++ devs are so used to the
> compile times that
> they get with them that it's nowhere near the top of the list
> of features that
> they want. It probably didn't even occur to many of them.
This is why so many developers with C and C++ only experience
think
Go compile times are great, when every developer outside C and C++
world has been having them for the last 30 years.
> Not to mention, if
> you think that fixing the problem isn't really even feasible
> (and I have no
> idea how it's feasible as long as the pre-processor or textual
> inclusion is
> involved), then it's definitely not going to be on the list of
> things that
> you're asking for.
>
> - Jonathan M Davis
Easy, just do them the same way as Turbo Pascal/Delphi do it. If
you
really need to change the pre-processor values, then you need to
recompile the module anyway.
http://www.freepascal.org/docs-html/prog/progse1.html#progsu37.html
This is the same thing D requires, if the version() values
change, right?
--
Paulo
More information about the Digitalmars-d-announce
mailing list