Difference between revisions of "Language design discussions"
(→volatile) |
|||
Line 50: | Line 50: | ||
==== Description ==== | ==== Description ==== | ||
Present AA implementation has lot of problems and most likely needs to be reworked. [[AA_Implementation_Issues]] | Present AA implementation has lot of problems and most likely needs to be reworked. [[AA_Implementation_Issues]] | ||
− | |||
== <code>volatile</code> == | == <code>volatile</code> == | ||
Line 71: | Line 70: | ||
** [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 == | == <code>final</code>-by-default == |
Revision as of 06:03, 19 April 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.
Contents
[hide]Properties
Description
Initial @property design has issues. How can it be changed or even discarded at all?
Thread
- Initial discussion where this topic has rised
- Walters follow-up with proposal to kill property, most info here
Essential moments
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
- Initial thread that has raised this topic
- Follow-up about current state of affairs
- Access specifiers and visibility - combined data to make a decision upon
Proposal
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
- October 2013 Discussion
- September 2013 Discussion
- July 2012 Discussion
- July 2004 Discussion
- June 2004 Discussion
- May 2004 Discussion
- March 2002 Discussion
Essential Moments
Proposals
final
-by-default
Threads
Essential Moments
- Manu provides justification for
final
-by-default - Walter concedes
- Walter posts decision citing JSON regression and almost losing a client.
- Client affected by JSON regression steps forward encouraging gradual, managed change
- Andrei puts his foot down stating there will be no
final
-by-default in the D programming language.
rvalue references
Threads
Inherited constructors
Description
When inheriting a class, the new class does not inherit its constructors. Any base class constructors need to be manually forwarded to. A library solution to automatically mix-in forwarding constructors is possible, but a language solution is possible too.
Note that C++11 supports this feature.
Threads
- todo
Automatic Reference Counting (ARC) as an alternative to D's Garbage Collector
Threads
Essential Moments
- {Feel free add some}