Any chance to call Tango as Extended Standard Library

Denis Koroskin 2korden at gmail.com
Fri Jan 23 01:29:01 PST 2009


On Thu, 22 Jan 2009 23:38:04 +0300, Jason House <jason.james.house at gmail.com> wrote:

> Denis Koroskin Wrote:
>
>> I think believe we could take advantage of current state of both  
>> libraries in D2 - they are both incomplete and being redesigned to fit  
>> D2 better.
>> We could revisit both Tango and Phobos, and clean them up by removing  
>> outdated modules and modules with same functionality. This will make  
>> Phobos really small and much easier to learn.
>>
>> On the other hand, Tango will continue providing all the extended  
>> functionality.
>>
>> Here is a list of Phobos modules that I believe could be safely removed:
>>
>> - crc32 and std.md5 - these should be deprecated in favor of  
>> tango.io.digest.Crc32 and tango.io.digest.Md5
>> Tango is better designed and has support for other algoriths (MD2, MD4,  
>> SHA256, SHA512, Tiger and more).
>> See http://www.dsource.org/projects/tango/wiki/ChapterEncodingAndCrypto  
>> for details.
>>
>> - std.atomics - tango.core.Atomic is superior to it (std.atomics has  
>> nothing but CAS anyway).
>> - std.base64 - deprecate in favor of tango.io.encode.Base64
>> - std.cover - is it supposed to be visible to user? Should it be in  
>> Phobos?
>> - std.loader - deprecate in favor of tango.sys.SharedLib
>> - std.bitarray
>> - std.openrj
>> - std.process - merge with tango.sys.Process
>> - std.regexp - buggy, deprecate in favor of tango.text.Regex
>> - std.socket, std.socketstream - deprecate in favor of tango.net.*
>> - std.uni - deprecate in favor of tango.text.Unicode
>> - std.uri - deprecate in favor of tango.net.Uri
>> - std.xml - deprecate in favor of tango.text.xml.*
>> - std.zip and std.zlib - deprecate in favor of tango.io.compress.*
>>
>> In almost *all* cases Tango has cleaner, faster and less buggy  
>> implementation of the same functionality.
>
> That's an interesting list.  Without the ability to distribute Phobos  
> and Tango together from the digitalmars.com site, I doubt anything will  
> get dropped from Phobos in favor of what is in Tango.  For a combined  
> distribution to ever occur requires a whole lot more coordination  
> between Phobos and Tango that I doubt we'll see for a very long time.
>

Is there any problem? Walter gave a special permission to Tango team to distribute DMD with Tango. I believe Tango team can give similar permission to distribute DMD with Tango, too. It ships in a bundle with LDC, at least, and I don't see why it can't ship with DMD. Unless Walter is against it.

Oh, and Tango2 should exists, of course.

>
>
>> Other modules - does anyone use any of these:
>> std.bitmanip
>> std.bind
>> std.boxer
>> std.outbuffer
>> std.stdint
>> std.syserror
>> std.system
>> ?
>
> std.bind is useful for binding data that will change before the delegate  
> is called.  I've used bind a lot when doing inter-thread communication  
> with queues of pending commands.
>
> I'd also like to use a variant of bit array with fixed sizes, easier  
> initialiation, and uses the SSE instruction set.  Right now, neither  
> Phobos nor Tango contains what I want.






More information about the Digitalmars-d mailing list