On Thursday, 29 November 2012 at 12:17:49 UTC, Jonathan M Davis wrote:
On Thursday, November 29, 2012 12:39:19 Paulo Pinto wrote:
On Thursday, 29 November 2012 at 03:19:55 UTC, Andrei

Alexandrescu wrote:
> On 11/28/12 9:34 PM, Walter Bright wrote:
>> For discussion:
> [snip]
> > I'd say we better finish const, immutable, and shared first. > > Andrei

+1

Fully agree.

Cyclic imports are a minor nuisance that can be easily solvable
with better code architecture.

Turbo Pascal/Delphi is the only language that I know fully allows
cyclic dependencies between modules. So this is not that
important for most people.

Basic features in the language require static constructors (e.g. static variables frequently do), and some things just can't be done without them. Andrei's std.benchmark proposal actually doesn't work, because in order to do what it does, in needs to mixin in a static constructor and static destructor (to set up the benchmarking and record it at the end, I believe). That completely falls apart due to cyclical imports. It doesn't actually cause any true circular dependencies, but it's treated as such anyway. A _lot_ of us have run into this problem and a number of us consider it to be a huge design problem in the language. Personally, I'd put it towards the top of design mistakes at this point, and I'm very glad to see Walter actually finally being willing to do something about this. In the past when I've brought up similar
solutions, he's been completely opposed to them.

Yes, we have other major issues that need to be resolved, and those may very well be of a higher priority, but this is still a very import issue, and it's the sort of issue that can probably be implemented with minimal effort. The main thing is getting Walter to agree to it and how it will be done. Once a decision is made, it wouldn't surprise me if someone like Kenji were able to
get it done very quickly.

- Jonathan M Davis

Maybe I should keep my mouth shut, because actually I don't really use D besides some toy experiments, as there is no place for D in the type of work I currently do, either on the job or privately.

I like however to point people to D as a possible C++ successor as way to do some language publicity, and think that these type of discussions might scare D newbies away in what concerns language stability, hence my post.

--
Paulo

Reply via email to