Difference between revisions of "Language design discussions"
(Removed Built-in associative array issues as it had no discussion about it) |
|||
Line 46: | Line 46: | ||
==== Thread ==== | ==== Thread ==== | ||
* [http://forum.dlang.org/post/nirfuenixutsbgyrcsla@forum.dlang.org auto ref - again] | * [http://forum.dlang.org/post/nirfuenixutsbgyrcsla@forum.dlang.org auto ref - again] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
Revision as of 06:04, 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
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}