Standard Library Concerns (Phobos / Tango)

kris foo at bar.com
Fri Feb 8 18:18:42 PST 2008


Derek Parnell Wrote:

[snip]

> Of course, it would even better if developers could use both libraries in
> the same application (without a Tangobos layer).


Hiya Derek

Just wanted to clarify that the Tangobos package (from Gregor) is not a 'layer', as you described it above. It is the phobos source code with a handful of minor changes made to it. Folks who download the Tango distro can use both the phobos API and the Tango API side by side, if they choose to do so. There's no thunks, redirects, or other intermediate steps involved that might impede the phobos API.

What's different is this: the underlying phobos runtime components are removed and replaced with the Tango equivalent instead. This includes the GC, typeinfo, Object implementation, threading, and a few others. Some "runtime-heavy" phobos-based code are reasonably likely to execute more efficiently or effectively because of this change.

To be specific, the Tango distro already provides what Walter has noted he would like to see at some point in the future -- both API operating atop a common runtime. This has been available for some time now (basically since Tangobos was created; recently it has been bundled instead, as one of the download options, to make things trivial to setup and use). 

Sean has described earlier why it is more effective to run phobos atop of the Tango runtime, rather than the other way around, so I won't rehash that here. Nor will I bore you with why the Tango runtime is often a better choice, since others have already gone over that. Those are implementation details anyway, rather than functional capabilities.

Given all the above it should be clear that developers can already use both libraries, on the same runtime, in the same application -- it's not some future promise ;)

Hope this helps to clarify things?

- Kris




More information about the Digitalmars-d mailing list