Finalizing D2

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat May 23 06:33:10 PDT 2009


grauzone wrote:
>> * std.bind: eliminate?
> 
> Unneeded, because D2 has real closures. (That modules still make a lot 
> of sense in D1, but now it's only a collection of awkward template hacks.)
> 
>> * std.metastrings: I hate the name. Merge into std.string using ctfe
> 
> Sounds like fun. I hope you'll provide Walter with suggestions how to 
> improve CTFE while fighting with it.

Me? I thought I'm saying what could be done, not what *I* should be 
doing :o).

>> * std.mmfile: integrate with the garbage collector. It should be there.
> 
> Why should the GC know about it?

Because the only way to make memory-mapped files safe is to have the GC 
handle them.

>> * std.outbuffer: I think this shouldn't be a class and shouldn't have 
>> that name.
> 
> I found this class to be absolutely useless. And there isn't even 
> std.inbuffer! One of the crappier parts of Phobos.

It's used in regular expressions.

>> * std.signals: I don't know much. A review wouldn't hurt.
> 
> Crap. Who uses that?
> 
>> * std.cstream, std.stream: eliminate.
> 
> Of course not without replacement?
> 
>> * std.variant: add dynamic method invocation capabilities
> 
> Sounds hot.
> 
>> * std.xml: replace with something that moves faster than molasses.
>> * std.zip: rewrite
>  > * std.socket, std.socketstream: We need a real networking library.
>  > * std.md5: we should add more such encryption devices.
>  > * std.base64: doesn't deserve a separate module
>  > * std.conv: define operations to stream data out and in in binary and
>  > text formats.
> 
> How about giving these up to Tango? The only problem is, it has not been 
> ported to D2 yet.

That's not an option.


Andrei



More information about the Digitalmars-d mailing list