View mode: basic / threaded / horizontal-split · Log in · Help
May 05, 2004
A tentative schedule for DTL
[I'm also posting to D.gnu and digitalmars.D as I want input from people who may
not naturally inhabit a template library NG. ;) ]

Good day and hearty felicitations, ye folks of inestimable patience and
restraint.

In light of C's question, here're my current thoughts on timing. Bearing in mind
the four enumeration types to be supported - #1 foreach; #2 Iterators; #3 Ranges;
#4 Interface-based - I think the following is likely:

- Within the next few days I intend to release DTL 0.1, which will include some
basic classes, providing enumeration #1 (fully), #2 (very partial: iterators, but
few algorithms)
- as soon as Walter can solve the mixins issue I can release DTL 0.2, which will
include the Ranges mixins (#3) enumeration. Obviously, once I've done it for one
container, I've done it for all, since it's a mixin. That's the point, obviously.
;)
- I confess I've forgotten the status of the interface-based enumeration (#4). It
may be that I've cracked that already, or it may be a while away. I'll have to
get my D head on and go back to it. ;). Maybe DTL 0.3 can follow a few days after
0.2 (or 0.1)

Subsequent to these fundamental aspects, the following would need to be done:
- determination and formalisation of the container/algorithm complexities, e.g.
is it 0logn, O^2, etc.
- implementation of a good spread of the fundamental containers and algorithms
that we'll all need. Note that I do not want to turn DTL into a kitchen-sink
outfit - and it does not need to be anyway, since DTL mixins and algorithms will
be usable with *any* containers (e.g. recls.Search) - but we do need a good set
of containers to take to the inaugural ball.
- lots of testing.
- d ... d ... d ... (calm, calm, calm). DOCUmentation.

If everything goes well, then we could see DTL 1.0 into Phobos in about two
months time. Naturally, it'll be available as a non-Phobos thing before then.
(I'm going to take the "arrogant" step of defining it in std.dtl, rather than in
synsoft.dtl, because it's just too much of a PITA for people who've used the
pre-std version to change over. I know this from my own experience in the
registry and recls modules. If anyone has a problem with this, you may sue my fat
hai.. ....... ..se! <G>)

Hope that's got you all brimming with confidence, saliva and trepidation.

Matthew
Top | Discussion index | About this forum | D home