Getting D ready for prime time

dsimcha dsimcha at yahoo.com
Wed Sep 29 08:56:10 PDT 2010


Here are my priorities for the core language and Phobos, in order of importance to
me personally.  Of course, more third-party libraries would be nice, but I think
that's both obvious and beyond the scope of this discussion.

1.  Finish 64-bit support.

2.  Fix the worst bugs in inout and alias this, since these bugs require
workarounds at the design/macro level, whereas most other bugs have more trivial
workarounds.

3.  Start finding tweaks to make the type system features of D (const/immutable,
safe/trusted, pure, etc.) more usable.  Don's weak pure stuff is a good start.
Much of the type system stuff is still almost unusable for reasons that don't
become obvious until you actually try to use it.

4.  Once the type system stuff is usable, make Phobos actually comply with it.

5.  Expand Phobos.  The modules I personally miss most that realistically belong
in a standard library are (in order of importance):

  a.  A parallelism module.  (I've submitted my parallelfuture module for review
and would like it to become std.parallelism, but review has been slow.  This is
somewhat justified, though, because the implementation is admittedly very complex
and ugly, but I'd really like it to be properly reviewed and included within a
release or two.)

  b.  Serialization.  This is a blocker for a lot of other things.  Orange is a
good start, but there are various small issues w/ it that have been pointed out in
various discussions on this NG and the Phobos list that need to be addressed.

  c.  Basic high-level networking support.  This includes HTTP (think Python's
urllib, or CuRL) and expanding std.concurrency to the network case.

  d.  Basic database support.  I'd kill to have a D port/binding of SqlLite in
Phobos, and SqlLite is public domain.

  e.  A little more math-related stuff.  In principle, I'm qualified to
write/contribute a lot to this, but I think we need to discuss where the boundary
between Phobos and 3rd party libs belongs.  For example, does standard deviation
belong in Phobos?  Median?  Correlation?  Matrices and linear algebra?  Eigenvalue
computation?  Numerical integration?  It's a slippery slope.

6.  Misc. bug fixes.  Except as mentioned previously, the DMD bugs that still
exist are generally easy to work around and/or occur in very limited
circumstances.  It's not like ~1 year ago when showstopper compiler bugs were
around every corner.


More information about the Digitalmars-d mailing list