Difference between revisions of "Language design discussions"

From D Wiki
Jump to: navigation, search
m (Canonical forum links)
(Minor restructuring)
Line 1: Line 1:
 
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.
 
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.
  
== Main DIP index ==
+
Formal improvement proposals can be found on the [[DIPs|main DIP index]].
[[DIPs]]
 
  
== Discussed design issues and free-form proposals ==
+
== Properties ==
=== Properties ===
+
==== Description ====
===== Description =====
 
 
Initial @property design has issues. How can it be changed or even discarded at all?
 
Initial @property design has issues. How can it be changed or even discarded at all?
  
===== Thread =====
+
==== Thread ====
 
* [http://forum.dlang.org/post/ceukykobasewoexsrveb@forum.dlang.org Initial discussion where this topic has rised]
 
* [http://forum.dlang.org/post/ceukykobasewoexsrveb@forum.dlang.org Initial discussion where this topic has rised]
 
* [http://forum.dlang.org/post/kdqrnl$13ft$1@digitalmars.com Walters follow-up with proposal to kill property, most info here]
 
* [http://forum.dlang.org/post/kdqrnl$13ft$1@digitalmars.com Walters follow-up with proposal to kill property, most info here]
  
===== Essential moments =====
+
==== Essential moments ====
 
[[Property Discussion Wrap-up]]
 
[[Property Discussion Wrap-up]]
  
===== Proposals =====
+
==== Proposals ====
 
* [[Property Discussion Proposal 1]]
 
* [[Property Discussion Proposal 1]]
 
* [[DIP21]]
 
* [[DIP21]]
  
=== Access specifiers and symbol visibility ===
+
== Access specifiers and symbol visibility ==
===== Description =====
+
==== 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.
 
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.
 
As a result of discussion, Walter has asked for DIP on this topic.
  
===== Essential moments =====
+
==== Essential moments ====
 
* [http://forum.dlang.org/post/kb86il$1u9v$1@digitalmars.com Walters final resolution about topics to cover in DIP]
 
* [http://forum.dlang.org/post/kb86il$1u9v$1@digitalmars.com Walters final resolution about topics to cover in DIP]
  
===== Thread =====
+
==== Thread ====
 
* [http://forum.dlang.org/post/iakfgxjlfzrbxerxpria@forum.dlang.org Initial thread that has raised this topic]
 
* [http://forum.dlang.org/post/iakfgxjlfzrbxerxpria@forum.dlang.org Initial thread that has raised this topic]
 
* [http://forum.dlang.org/post/llizpsrachdtqtshppud@forum.dlang.org Follow-up about current state of affairs]
 
* [http://forum.dlang.org/post/llizpsrachdtqtshppud@forum.dlang.org Follow-up about current state of affairs]
 
* [[Access specifiers and visibility]] - combined data to make a decision upon
 
* [[Access specifiers and visibility]] - combined data to make a decision upon
  
===== Proposal =====
+
==== Proposal ====
 
[[DIP22]]
 
[[DIP22]]
  
=== auto ref ===
+
== auto ref ==
===== Description =====
+
==== Description ====
===== Essential moments =====
+
==== Essential moments ====
  
===== 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]
  
=== Built-in associative array issues ===
+
== Built-in associative array issues ==
===== 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]]

Revision as of 14:36, 10 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