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