Finalizing D2

dolive dolive89 at sina.com
Thu Jun 4 18:55:05 PDT 2009


Andrei Alexandrescu дµ½:

> Jason House wrote:
> > Andrei Alexandrescu Wrote:
> > 
> >> Jason House wrote:
> >>> BCS wrote:
> >>>
> >>>> Hello Jason,
> >>>>
> >>>>> Should the final freezing of D2 be delayed until major D1 libraries
> >>>>> port to D2? I'm mostly thinking of Tango, but I bet there are others.
> >>>>> It may even be good if major libraries could use a Phobos-compatible
> >>>>> license and become part of the releases by digital mars.
> >>>> Maybe it should be declared "done" as in it's got everything that Walter,
> >>>> Andrei, Barotsz and friends what in it, but it might be changed if the Lib
> >>>> writers as for some tweaks. Sort of a "feature" freaze.
> >>> Yes!
> >>>
> >>> "Walter, Andrei, Bartosz, and friends": If you're reading this, can you shed 
> >>> some light on what's happening before D2 is declared stable?  And when?
> >>>
> >> I've submitted the first three chapters to Rough Cuts. I will make 
> >> progress towards writing up until the end of August. The last chapter 
> >> concerns concurrency and is the fuzziest one.
> > 
> > Ok, so pen down in three months?
> 
> Yah.
> 
> >> Thank you for your initiative to enlist help from the community. There's 
> >> a lot of very visible help already happening: there's been a sharp 
> >> increase in bug reports and patches recently. Walter and I are still 
> >> scratching our head over that (it's not like dmd got much crappier 
> >> overnight). I can only infer that more people have started using more of D.
> > 
> > The increase is interesting. Out of curiosity, is the increase dominantly for the backend? I wonder if having a sense of D2 stabilizing is increasing usage of D2 overall.
> 
> Walter has no specific statistics.
> 
> >> I'd be thrilled to add more stuff to Phobos. Stuff can be done with 
> >> ranges that's almost indistinguishable from poetry. But ranges aren't 
> >> everything, Georg :o). I think Shin's BlackHole and WhiteHole slammed 
> >> open a door to a world of amazing possibilities. Things like 
> >> compile-time reflection, run-time reflection, and dynamic loading are 
> >> very hot and the possibilities are huge. Among other things, Variant can 
> >> with relative ease implement a function var.call("fun", arg1, arg2) that 
> >> forwards everything dynamically to a member function of the embedded object.
> > 
> > What do you / others consider the weakest / missing parts of Phobos?
> 
> Wow. Where should I start. Let me go down the list of modules and share 
> a few thoughts.
> 
> * std.array: we need to make a decision about differentiating arrays 
> from slices.
> 
> * std.base64: doesn't deserve a separate module
> 
> * std.bind: eliminate?
> 
> * std.bitmanip: define a range for BitArray and eliminate opApply. Add 
> opSlice.
> 
> * std.vendor: should this go in core?
> 
> * std.complex: IMPLEMENT. Eliminate any trace of built-in complex.
> 
> * std.conv: define operations to stream data out and in in binary and 
> text formats.
> 
> * std.cover: another little module that should be merged somewhere
> 
> * std.date: unnecessarily clunky and low-level. Also, somehow Walter 
> thinks that std.dateparse has absolutely nothing to do with date.
> 
> * std.demangle: another small module. Should be merged with e.g. other 
> compiler-specific stuff.
> 
> * std.encoding, std.utf: we need a massive overhaul of all 
> encoding-specific stuff. Massive. Epic. The current pile of... 
> functionality makes the simplest stuff look like rocket surgery.
> 
> * std.md5: we should add more such encryption devices.
> 
> * std.metastrings: I hate the name. Merge into std.string using ctfe
> 
> * std.mmfile: integrate with the garbage collector. It should be there.
> 
> * std.outbuffer: I think this shouldn't be a class and shouldn't have 
> that name.
> 
> * std.outofmemory: why???
> 
> * std.process: add pipe() for Windows. Actually that should be in stdio.
> 
> * std.regex, std.regexp: merge and finalize.
> 
> * std.signals: I don't know much. A review wouldn't hurt.
> 
> * std.socket, std.socketstream: We need a real networking library.
> 
> * std.stdio: implement readf and various I/O specific ranges
> 
> * std.cstream, std.stream: eliminate.
> 
> * std.string: arrange so there's no overlapping/conflict with 
> std.algorithm. Implement bidir range for reading strings correctly 
> (already done that).
> 
> * std.system: merge somewhere
> 
> * std.thread: replace
> 
> * std.variant: add dynamic method invocation capabilities
> 
> * std.xml: replace with something that moves faster than molasses.
> 
> * std.zip: rewrite
> 
> Well there's much other stuff I'm sure but I just dumped what came to 
> mind when taking a look.
> 
> 
> Andrei

Should have a database related foundation modul£¬for example:  std.data


dolive




More information about the Digitalmars-d mailing list