Difference between revisions of "Language design discussions"

From D Wiki
Jump to: navigation, search
(Added volatile)
(Added final-by-default)
Line 65: Line 65:
 
** [http://forum.dlang.org/post/k54gc2$428$1@digitalmars.com October 2012 Discussion]
 
** [http://forum.dlang.org/post/k54gc2$428$1@digitalmars.com October 2012 Discussion]
 
* [http://wiki.dlang.org/DIP17 DIP17] - Superceded by [http://wiki.dlang.org/DIP20 DIP20]
 
* [http://wiki.dlang.org/DIP17 DIP17] - Superceded by [http://wiki.dlang.org/DIP20 DIP20]
 +
 +
== <code>final</code>-by-default ==
 +
=== Threads ===
 +
* [http://forum.dlang.org/post/lfqoan$5qq$1@digitalmars.com March 2014 Discussion]
 +
* [http://forum.dlang.org/post/yzsqwejxqlnzryhrkfuq@forum.dlang.org May 2013 Discussion]
 +
 +
=== Essential Moments ===
 +
* [http://forum.dlang.org/post/mailman.797.1370344528.13711.digitalmars-d@puremagic.com Manu provides justification for <code>final</code>-by-default]
 +
* [http://forum.dlang.org/post/mailman.797.1370344528.13711.digitalmars-d@puremagic.com Walter concedes]
 +
* [http://forum.dlang.org/post/lfqoan$5qq$1@digitalmars.com Walter posts decision citing [http://forum.dlang.org/post/lfgot7$8lg$1@digitalmars.com JSON regression] and almost losing a client. 
 +
** [http://forum.dlang.org/post/xbbzknslhfrwlwoqfcak@forum.dlang.org Client affected by JSON regression steps forward] encouraging gradual, managed change
 +
* [http://forum.dlang.org/post/lfrdst$oav$1@digitalmars.com Andrei puts his foot down] stating there will be no <code>final</code>-by-default in the D programming language.

Revision as of 00:14, 14 March 2014

D is an evolving and complex language. New features are proposed, unexpected interaction in old ones get found, design issues are raised. All this may involve hard debates in D newsgroup and if often forgotten. This page serves as an index for major design discussions and proposals.

Formal improvement proposals can be found on the main DIP index.

Properties

Description

Initial @property design has issues. How can it be changed or even discarded at all?

Thread

Essential moments

Property Discussion Wrap-up

Proposals

Access specifiers and symbol visibility

Description

Currently there is feature like "static global" in C or "unnamed namespace" in C++. Access specifiers for module-level symbols control access, not visibility. Ability to hide symbols needs to be added without breaking current access system.

As a result of discussion, Walter has asked for DIP on this topic.

Essential moments

Thread

Proposal

DIP22

auto ref

Description

Essential moments

Thread

Built-in associative array issues

Description

Present AA implementation has lot of problems and most likely needs to be reworked. AA_Implementation_Issues

volatile

Threads

Essential Moments

Proposals

final-by-default

Threads

Essential Moments