Difference between revisions of "Beyond D2"

From D Wiki
Jump to: navigation, search
Line 1: Line 1:
(DELETE THIS PAGE)
+
== D questionable design choices ==
 +
 
 +
=== DMD ===
 +
==== fix export [[DIP45]] ====
 +
Get the DIP approved by Walter.
 +
Prototype an implementation to find further issues.
 +
==== complete "Cross-module template overload" feature ====
 +
https://github.com/D-Programming-Language/dmd/pull/2417
 +
==== complete DIP42 feature ====
 +
* https://github.com/D-Programming-Language/dmd/pull/2467 (Compiler)
 +
* https://github.com/D-Programming-Language/dlang.org/pull/371 (Webpage)
 +
;Related: https://github.com/D-Programming-Language/dmd/pull/2559
 +
: Allow lazy evaluation in manifest constant initializer.
 +
==== introduce "uniform construction" syntax ====
 +
Because it is already approved by Andrei.<br/>
 +
https://github.com/D-Programming-Language/dmd/pull/1356
 +
=== Druntime ===
 +
==== high-level shared library support ====
 +
Initial work in [https://github.com/D-Programming-Language/druntime/pull/617 pull request #617].
 +
Need to improve the API of the Library wrapper.
 +
=== Phobos ===
 +
Reduce dependency hell, split up huge modules to enable fine-grained imports.
 +
 
 +
More safety - @safe writeln ?
 +
 
 +
====Split std.datetime so that it's a package rather than a module.====
 +
 
 +
====Rework std.variant's Algebraic (ADTs)====
 +
* add compile-time checking that all possible types are handled by user code
 +
* allow recursive data types
 +
 
 +
=== Other ===
 +
==== automate release builds ====
 +
* Nick Sabalausky wrote a release [https://github.com/D-Programming-Language/installer/pull/24 tool].
 +
* Brad Roberts added install targets to the makefiles ([https://github.com/D-Programming-Language/dmd/commit/e993c4cefa69a59c03442053f9894c329a36b3af dmd], [https://github.com/D-Programming-Language/druntime/commit/f36a436303290c48add14d248c87e685a3cb1c99 druntime] and [https://github.com/D-Programming-Language/phobos/commit/133cb13b4fb8a0363885d0979a84d2611f27bd75 phobos]).
 +
* Nightly builds from the autotesters
 +
* Reusing existing makefiles is preferred
 +
* Package scripts must build from source (see [http://d.puremagic.com/issues/show_bug.cgi?id=10710 Issue 10710])
 +
* Dejan Lekic made a [https://www.gitorious.org/dejan-fedora/dejan-fedora Fedora SPEC file]
 +
* Multi-arch cross-compiler should be optional (more dependencies/bigger size for rarely needed feature)

Revision as of 00:30, 10 November 2013

D questionable design choices

DMD

fix export DIP45

Get the DIP approved by Walter. Prototype an implementation to find further issues.

complete "Cross-module template overload" feature

https://github.com/D-Programming-Language/dmd/pull/2417

complete DIP42 feature

Related
https://github.com/D-Programming-Language/dmd/pull/2559
Allow lazy evaluation in manifest constant initializer.

introduce "uniform construction" syntax

Because it is already approved by Andrei.
https://github.com/D-Programming-Language/dmd/pull/1356

Druntime

high-level shared library support

Initial work in pull request #617. Need to improve the API of the Library wrapper.

Phobos

Reduce dependency hell, split up huge modules to enable fine-grained imports.

More safety - @safe writeln ?

Split std.datetime so that it's a package rather than a module.

Rework std.variant's Algebraic (ADTs)

  • add compile-time checking that all possible types are handled by user code
  • allow recursive data types

Other

automate release builds

  • Nick Sabalausky wrote a release tool.
  • Brad Roberts added install targets to the makefiles (dmd, druntime and phobos).
  • Nightly builds from the autotesters
  • Reusing existing makefiles is preferred
  • Package scripts must build from source (see Issue 10710)
  • Dejan Lekic made a Fedora SPEC file
  • Multi-arch cross-compiler should be optional (more dependencies/bigger size for rarely needed feature)