Tango - shallower hierarchy (was: Phango - questions)
Christopher Wright
dhasenan at gmail.com
Tue Nov 27 05:47:16 PST 2007
Sean Kelly wrote:
> Marcin Kuszczak wrote:
>>
>> Some more thoughts:
>>
>> tango.core
>> - it seems to be another general aggregate type for different things like
>> tango.util. But I would expect modules should be very low level, commonly
>> used stuff (not complex as opposite to util). That said I wonder why
>> there
>> is whole threading package in core? In what sense is threading 'core'? I
>> think that even on multicore machines it still be a lot of applications
>> which will be single threaded. What's more I found it counterintuitive:
>> when I want in my application threading support I would rather look for
>> tango.concurrency or tango.threading or tango.threads. In this package
>> should be also 'sync' package.
>
> tango.core is roughly akin to java.lang in Java. It is intended to
> contain essential type definitions, utilities, and expose runtime
> features. Threading is actually a runtime feature, which is why it is
> in core. tango.core.sync exists because I feel that simple threading
> primitives are an essential language feature. Any additional threading
> utilities will likely go in tango.util.concurrent or the equivalent.
Can you give me a brief, 95% accurate guide to where to find the modules
I want? Currently, I'm confused by the layout of Tango -- by why all the
metaprogramming stuff, array manipulation functions, and Variant are in
tango.core, for instance, and not tango.util; by why there are a bunch
of stream iterators in tango.text; why tango.io contains hash streams
and compression streams and all filesystem stuff except for a couple of
path utility methods that are in tango.util.
> Sean
More information about the Digitalmars-d
mailing list