www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Phobos, the Standard Library, and Process

reply "David Barrett" <dbarrett quinthar.com> writes:
Let me see if I can summarize the state of the debate, and follow up with a 
proposal to Walter:

1) Walter is the gatekeeper for the "official" standard library, but he is 
very busy.  Thus it's been proposed that an "unofficial" standard library 
"Ares" be created in the meantime (and work has started toward this end). 
What I like about this approach is it takes Walter out of the critical path, 
freeing him to focus on the compiler.  The downside is without Walter's 
involvement, it's unclear if Ares will ever be made "official" (and thus 
truly "standard").  Regardless, I think there's consensus that Phobos isn't 
evolving as fast or as deliberately as we'd all like.

2) Originally I heard a lot of interest in choosing a formal name for the 
"official" standard library, as well as one vote that Phobos *is* the 
official name.  Again, do we want to keep the Phobos name (at which I'd 
suggest we rename the "std" namespace to be "phobos"), or should we change 
the name to something including the word "standard" ("standard runtime", "D 
standard library", etc.)?  Regardless, I think there's consensus that the 
Phobos name should either be embraced or changed, for once and for all.

3) I heard a number of detailed suggestions on how to word a "seventh rule" 
in the Phobos Philosophy, with the general intent that it clarify top-level 
module/package relationships ("std", "etc", etc.).  Regardless, I think 
there's consensus that *some* seventh rule should be added, even if the 
precise wording hasn't been decided.


So as for my proposal:

I think we're unable to proceed without Walter's lead.

Walter, can you take a break from compiler coding long enough to:

1) Clarify your vision of which modules should fit into each top-level 
package ("std", "etc", maybe "rt", etc.) ?  You mentioned "I don't want to 
fill Phobos up with functions of marginal utility, it needs to be widely 
useful, core building blocks."  Could you update the "Phobos Philosophy" 
page to reflect this desire?  I've proposed wording for a seventh rule, but 
anything along these lines would work.  Also, could you lay out the rules 
that govern additions to "etc" or any other key packages, if you have any?

2) Give your opinion on the naming issue?  Personally, I find the Phobos 
name confusing and, frankly, unprofessional.  It reinforces (to me) the 
notion that D is a "toy language".  However, my major concern is that the 
use of "Phobos", "Standard Library", and "Standard Runtime" are 
inconsistently used and all (apparently) equally valid.  In my opinion, the 
largest value of a "standard library" is to create a consistent lexicon with 
which D programmers can communicate.  If we can't even agree on what to call 
the "standard library", it doesn't bode well for anything it contains.

3) Nominate a "standard library" czar that you will communicate with 
regularly, and who will execute on your vision?  This person could either 
create update Phobos so that adheres to the new documented rules, or create 
a new standard library (such as Ares) that at some point in the future is 
swapped with the original.  Regardless, *someone* needs to be leading this 
charge, and if you don't have the personal bandwidth to do it, this would be 
a great thing to delegate.

Any thoughts?

-david

PS: For the cynics out there, I don't want to be the czar.  I just want a 
truly standard library, and that's the only way I can see it occuring. 
Mar 29 2005
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
David Barrett wrote:

 2) Originally I heard a lot of interest in choosing a formal name for the 
 "official" standard library, as well as one vote that Phobos *is* the 
 official name.  Again, do we want to keep the Phobos name (at which I'd 
 suggest we rename the "std" namespace to be "phobos"), or should we change 
 the name to something including the word "standard" ("standard runtime", "D 
 standard library", etc.)?  Regardless, I think there's consensus that the 
 Phobos name should either be embraced or changed, for once and for all.

Mars is the codename for D, ("the programming language") Phobos is the codename for std, (short for "standard") Deimos is the codename for etc. (short for "etcetera") I'm not sure it's all that much to get hung up upon... Better to fix the *contents* of the runtime library ? --anders
Mar 29 2005
next sibling parent reply J C Calvarese <jcc7 cox.net> writes:
Anders F Björklund wrote:
 David Barrett wrote:
 
 2) Originally I heard a lot of interest in choosing a formal name for 
 the "official" standard library, as well as one vote that Phobos *is* 
 the official name.  Again, do we want to keep the Phobos name (at 
 which I'd suggest we rename the "std" namespace to be "phobos"), or 
 should we change the name to something including the word "standard" 
 ("standard runtime", "D standard library", etc.)?  Regardless, I think 
 there's consensus that the Phobos name should either be embraced or 
 changed, for once and for all.

Mars is the codename for D, ("the programming language") Phobos is the codename for std, (short for "standard") Deimos is the codename for etc. (short for "etcetera") I'm not sure it's all that much to get hung up upon... Better to fix the *contents* of the runtime library ? --anders

Exactly right. -- jcc7 http://jcc_7.tripod.com/d/
Mar 29 2005
parent reply "David Barrett" <dbarrett quinthar.com> writes:
"J C Calvarese" <jcc7 cox.net> wrote in message 
news:d2cnr6$2jvv$2 digitaldaemon.com...
 Anders F Björklund wrote:
 Mars is the codename for D, ("the programming language")
 Phobos is the codename for std, (short for "standard")
 Deimos is the codename for etc. (short for "etcetera")

 I'm not sure it's all that much to get hung up upon...
 Better to fix the *contents* of the runtime library ?

 --anders

Exactly right.

It's not that I can't perform the mapping between the Greek/Roman mythological and D namespaces. I merely assert that this mapping reinforces the negative stereotype that D is a toy. Traditionally, so long as a product goes by its code name, it broadcasts to the world that it's a beta project, and thus not yet ready for real use. Eventually, D will be released, and thus ready for real use. Traditionally, at this "coming of age" point, products and technologies shed their codenames and thus convey to the world that they're for real. In preparation for this day, I think we should figure out what the "real" name is, and start getting used to it. Does anyone agree with this position? What's Walter's position? -david
Mar 29 2005
next sibling parent reply J C Calvarese <jcc7 cox.net> writes:
David Barrett wrote:
 "J C Calvarese" <jcc7 cox.net> wrote in message 
 news:d2cnr6$2jvv$2 digitaldaemon.com...

 In preparation for this day, I think we should figure out what the "real" 
 name is, and start getting used to it.

I'm not opposed to that. I've already suggested "D Standard Library" as the official name. (digitalmars.D/20275) Do you like it? (Yes) (No) (Maybe) If you prefer another name, please make a counter-suggestion.
 Does anyone agree with this position?  What's Walter's position?

Often Walter prefers to sit back in the background and wait for us to "gang up" on him. I respect that. -- jcc7 http://jcc_7.tripod.com/d/
Mar 29 2005
next sibling parent "David Barrett" <dbarrett quinthar.com> writes:
"J C Calvarese" <jcc7 cox.net> wrote in message 
news:d2cr96$2nbo$1 digitaldaemon.com...
 I'm not opposed to that. I've already suggested "D Standard Library" as 
 the official name. 
 (digitalmars.D/20275)

 Do you like it? (Yes) (No) (Maybe)

 If you prefer another name, please make a counter-suggestion.

(Yes) I like it.
Mar 29 2005
prev sibling next sibling parent reply Derek Parnell <derek psych.ward> writes:
On Tue, 29 Mar 2005 18:18:49 -0600, J C Calvarese wrote:

 David Barrett wrote:
 "J C Calvarese" <jcc7 cox.net> wrote in message 
 news:d2cnr6$2jvv$2 digitaldaemon.com...

 In preparation for this day, I think we should figure out what the "real" 
 name is, and start getting used to it.

I'm not opposed to that. I've already suggested "D Standard Library" as the official name. (digitalmars.D/20275) Do you like it? (Yes) (No) (Maybe)

Not really. It sounds too "officialeese". Sounds like it might have come from an IBM marketing department. ;-) And it will be abbreviated to DSL and pronounced "diesel" :D "D Standard Library" is a description not a name. "Henry" is a name, but not a good one for the library set though ;-)
 If you prefer another name, please make a counter-suggestion.

How about "Diesel"? :D~ [/me gets slapped again] -- Derek Melbourne, Australia 30/03/2005 10:43:43 AM
Mar 29 2005
parent "Matthew" <admin.hat stlsoft.dot.org> writes:
"Derek Parnell" <derek psych.ward> wrote in message
news:1js3p5avp9z82.1ico3jukj5eyx$.dlg 40tude.net...
 On Tue, 29 Mar 2005 18:18:49 -0600, J C Calvarese wrote:

 David Barrett wrote:
 "J C Calvarese" <jcc7 cox.net> wrote in message
 news:d2cnr6$2jvv$2 digitaldaemon.com...

 In preparation for this day, I think we should figure out what the "real"
 name is, and start getting used to it.

I'm not opposed to that. I've already suggested "D Standard Library" as the official name. (digitalmars.D/20275) Do you like it? (Yes) (No) (Maybe)

Not really. It sounds too "officialeese". Sounds like it might have come from an IBM marketing department. ;-) And it will be abbreviated to DSL and pronounced "diesel" :D "D Standard Library" is a description not a name. "Henry" is a name, but not a good one for the library set though ;-)
 If you prefer another name, please make a counter-suggestion.

How about "Diesel"? :D~ [/me gets slapped again]

I like it
Mar 29 2005
prev sibling next sibling parent David L. Davis <SpottedTiger yahoo.com> writes:
In article <d2cr96$2nbo$1 digitaldaemon.com>, J C Calvarese says...
David Barrett wrote:
 "J C Calvarese" <jcc7 cox.net> wrote in message 
 news:d2cnr6$2jvv$2 digitaldaemon.com...

 In preparation for this day, I think we should figure out what the "real" 
 name is, and start getting used to it.

I'm not opposed to that. I've already suggested "D Standard Library" as the official name. (digitalmars.D/20275) Do you like it? (Yes) (No) (Maybe) If you prefer another name, please make a counter-suggestion.
 Does anyone agree with this position?  What's Walter's position?

Often Walter prefers to sit back in the background and wait for us to "gang up" on him. I respect that. -- jcc7 http://jcc_7.tripod.com/d/

No. D aka "Mars" the compiler, the decription "Standard runtime library" aka "Phobos" (that uses the std path), and the decription "non-Standard runtime library" aka "Deimos" that maps to the existing etc path for possible Phobos want-a-bees, take all of but half a programmer's brain cell and a few seconds to understand what these are once told. <warning soapbox> Beside, IMHO creative product names show a lot more character of the creator and of the users (didn't know, that if you use D... you're a Martian? :)) ), more so than those dime a dozen Corprate stamped-out marketing driven names. I think Walter himself said it best about D, "It's a practical language for practical programmers who need to get the job done quickly, reliably, and leave behind maintainable, easy to understand code." </warning soapbox> Anyway, it would be far better to spend this time before D v1.0 to find ways improve the Phobos runtime library, and to find any errors in the D compiler (and if possible, submit corrections) placing them as a bug report on the D.bug forum. David L. ------------------------------------------------------------------- "Dare to reach for the Stars...Dare to Dream, Build, and Achieve!"
Mar 29 2005
prev sibling parent Charles Hixson <charleshixsn earthlink.net> writes:
J C Calvarese wrote:
 David Barrett wrote:
 
 "J C Calvarese" <jcc7 cox.net> wrote in message 
 news:d2cnr6$2jvv$2 digitaldaemon.com...

...
 In preparation for this day, I think we should figure out what the 
 "real" name is, and start getting used to it.

I'm not opposed to that. I've already suggested "D Standard Library" as the official name. (digitalmars.D/20275) Do you like it? (Yes) (No) (Maybe) If you prefer another name, please make a counter-suggestion.
 Does anyone agree with this position?  What's Walter's position?

Often Walter prefers to sit back in the background and wait for us to "gang up" on him. I respect that.

I have nothing against the name phobos. It would be better were the language actually named Mars, but it's ok anyway. People who judge a language based on the name used to refer to the library are basically hopeless anyway. If that's not their objection, then they'll find another. (You may need to find out what their real objections are.)
Apr 01 2005
prev sibling next sibling parent "Ben Hinkle" <ben.hinkle gmail.com> writes:
"David Barrett" <dbarrett quinthar.com> wrote in message 
news:d2cqk5$2mth$1 digitaldaemon.com...
 "J C Calvarese" <jcc7 cox.net> wrote in message 
 news:d2cnr6$2jvv$2 digitaldaemon.com...
 Anders F Björklund wrote:
 Mars is the codename for D, ("the programming language")
 Phobos is the codename for std, (short for "standard")
 Deimos is the codename for etc. (short for "etcetera")

 I'm not sure it's all that much to get hung up upon...
 Better to fix the *contents* of the runtime library ?

 --anders

Exactly right.

It's not that I can't perform the mapping between the Greek/Roman mythological and D namespaces. I merely assert that this mapping reinforces the negative stereotype that D is a toy. Traditionally, so long as a product goes by its code name, it broadcasts to the world that it's a beta project, and thus not yet ready for real use.

The mac is an example where a codename ended up being a very successful product name. I'm glad Apple didn't call it the "Apple IV" or something. Of course after a while we ended up with names like "Power Macintosh 5400 LC". I can see that "phobos" might not sound formal enough but with the people I talk to about D they decide D is a toy right around the time I say the name is "D". They chuckle and you can tell they take everything that follows only semi-seriously. At least phobos isn't named after an English comedy group (not that I don't like Monty Python or Python). That said, renaming phobos wouldn't be a disaster. As long as it has under 6 characters or so. :-) And please no TLAs.
Mar 29 2005
prev sibling parent =?windows-1252?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
David Barrett wrote:

 Eventually, D will be released, and thus ready for real use.  Traditionally, 
 at this "coming of age" point, products and technologies shed their 
 codenames and thus convey to the world that they're for real.

"D the programming language; specification, version 1.0" Or wait, doesn't specifications have like years or numbers ? like "the ECMA-262 scripting language" or "the ECMA-334 language" Sure, those names are for real. Just not something I'd name *my* kid. Perhaps you meant the compiler ? (currently rather fitting, since each D compiler has one *separate* version of "standard" runtime library...) "Digital Mars™ D 1.0" or "GNU D Compiler 1.0" would work, I suppose ? Then again, all smart people would wait for 1.0.1 or "Service Pack 1" --anders
Mar 29 2005
prev sibling next sibling parent reply "Carlos Santander B." <csantander619 gmail.com> writes:
Anders F Björklund wrote:
 David Barrett wrote:
 
 2) Originally I heard a lot of interest in choosing a formal name for 
 the "official" standard library, as well as one vote that Phobos *is* 
 the official name.  Again, do we want to keep the Phobos name (at 
 which I'd suggest we rename the "std" namespace to be "phobos"), or 
 should we change the name to something including the word "standard" 
 ("standard runtime", "D standard library", etc.)?  Regardless, I think 
 there's consensus that the Phobos name should either be embraced or 
 changed, for once and for all.

Mars is the codename for D, ("the programming language") Phobos is the codename for std, (short for "standard") Deimos is the codename for etc. (short for "etcetera")

Errr, not exactly: etc.c.zlib, etc.c.recls, and etc.c.stlsoft, are not part of Deimos (what I don't know if they're part of Phobos).
 I'm not sure it's all that much to get hung up upon...
 Better to fix the *contents* of the runtime library ?
 

I also agree.
 --anders

_______________________ Carlos Santander Bernal
Mar 29 2005
next sibling parent J C Calvarese <jcc7 cox.net> writes:
Carlos Santander B. wrote:
 Anders F Björklund wrote:

 Mars is the codename for D, ("the programming language")
 Phobos is the codename for std, (short for "standard")
 Deimos is the codename for etc. (short for "etcetera")

Errr, not exactly: etc.c.zlib, etc.c.recls, and etc.c.stlsoft, are not part of Deimos (what I don't know if they're part of Phobos).

Yeah, the policy on "etc" never seemed clear to me. Maybe we need a std.detritus (i.e., std.detritus.c.zlib, std.detritus.c.recls, std.detritus.c.stlsoft). It seems to me that stuff shouldn't be permanently in "etc". If part of "std" requires it, let's just fold it into "std". -- jcc7 http://jcc_7.tripod.com/d/
Mar 29 2005
prev sibling parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Carlos Santander B. wrote:

 Errr, not exactly: etc.c.zlib, etc.c.recls, and etc.c.stlsoft, are not 
 part of Deimos (what I don't know if they're part of Phobos).

I'm not sure they're part of Phobos either? "etc.c.zlib" is just a port of the zlib.h header file, and etc/c/recls is some old recls 1.2.1 code They are used from std.zlib and std.recls, which is in Phobos gravity. More than likely, all that C/C++ code should "disappear" from Phobos. Having the D wrappers for the libraries is cool, but the code isn't... (and in the case of recls, it would probably be better off standalone) My suggestion: etc.c.zlib -> std.c.zlib (i.e. just the zlib.d module, not the rest) etc.c.recls/etc.c.stlsoft -> http://synesis.com.au/software/recls/ It's OK to have the standard runtime depend on the zlib library. After all, it depends on the pthread library and other runtimes ? --anders
Mar 29 2005
parent reply "Walter" <newshound digitalmars.com> writes:
"Anders F Björklund" <afb algonet.se> wrote in message
news:d2dkvv$dqa$1 digitaldaemon.com...
 My suggestion:
 etc.c.zlib -> std.c.zlib (i.e. just the zlib.d module, not the rest)
 etc.c.recls/etc.c.stlsoft -> http://synesis.com.au/software/recls/

 It's OK to have the standard runtime depend on the zlib library.
 After all, it depends on the pthread library and other runtimes ?

The idea behind putting zlib in etc rather than std is that part of the zlib code is not part of the standard interface to the zlib library. The std part is the standard interface.
Mar 30 2005
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Walter wrote:

etc.c.zlib -> std.c.zlib (i.e. just the zlib.d module, not the rest)

The idea behind putting zlib in etc rather than std is that part of the zlib code is not part of the standard interface to the zlib library. The std part is the standard interface.

I'm not sure I follow... Surely std.zlib could still remain, even if the etc.c.zlib import module was moved to std.c.zlib instead ? Just as std.stdio and std.c.stdio are able to co-exist right now ? I just thought it was bad that a std module linked to an etc one... --anders
Mar 30 2005
parent "Carlos Santander B." <csantander619 gmail.com> writes:
Anders F Björklund wrote:
 Walter wrote:
 
 etc.c.zlib -> std.c.zlib (i.e. just the zlib.d module, not the rest)

The idea behind putting zlib in etc rather than std is that part of the zlib code is not part of the standard interface to the zlib library. The std part is the standard interface.

I'm not sure I follow... Surely std.zlib could still remain, even if the etc.c.zlib import module was moved to std.c.zlib instead ? Just as std.stdio and std.c.stdio are able to co-exist right now ? I just thought it was bad that a std module linked to an etc one... --anders

What I understand is, that if you can implement std.zlib and std.recls by other means than depending on etc.c.zlib, etc.c.recls, etc.c.stlsoft, then go on and do it. The end user shouldn't rely on etc.* existing. Once I asked something related to this, and Walter said that every D distribution must have the std.* modules. The etc.* are optional (it's not a quote, it's what I remember). _______________________ Carlos Santander Bernal
Mar 30 2005
prev sibling parent reply Georg Wrede <georg.wrede nospam.org> writes:
Anders F Björklund wrote:
 
 Mars is the codename for D, ("the programming language")
 Phobos is the codename for std, (short for "standard")
 Deimos is the codename for etc. (short for "etcetera")

Geez, I hope nobody sets up a vote on how many people knew this. The results would depress the D cognoscenti. Why not just "D" and "D library". D library meaning what comes with the DMD compiler. I think that this Phobos thing (and worse, Deimos thing) just needlessly make it hard for people to understand that they are nothing extraordinary, or 3rd party, or not genuine parts of D. I mean, what if in these newsgroups we consistently used the name Mars for D. That'd illustrate my point quite well.
Mar 30 2005
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Georg Wrede wrote:

 Mars is the codename for D, ("the programming language")
 Phobos is the codename for std, (short for "standard")
 Deimos is the codename for etc. (short for "etcetera")

Geez, I hope nobody sets up a vote on how many people knew this.

It's just some geek trivia, nothing more - nothing less... (it's still kinda funny to name them "fear" and "panic") But just like Walter, I don't see why it is inherently wrong to give a name to the standard/runtime library ? Must everything be named like: libc and libstdc++ ? (Wonder if it should be "libd" or "libstdd", BTW ?)
 Why not just "D" and "D library".

Oh, but it *is* "D" and it *is* the "D runtime library" The spec link says "Phobos (Runtime Library)", with a beginning of "Phobos is the standard runtime library" That it doesn't say: the-standard-D-runtime-library each and every time on that page, is not that strange ? It's not like you *have* to know it's called Phobos. Keep in mind that several on this group are hacking the language itself, and messing with the internals. (That is just because D is still under development) The rest can just go: "import std.stdio;" and "dmd", and the D compiler takes care of linking with phobos ?
 D library meaning what comes with the DMD compiler.

There are more than the DMD compiler, which is one of the reasons why we are trying to convince Walter to divorce DMD and Phobos, and split off the "rt" and "gc" kids too... See "Ares": http://www.dsource.org/forums/viewforum.php?f=31 Again: the D compiler would take care of this, internally. It just simplifies switching std lib or GC implementation. --anders
Mar 30 2005
parent reply Georg Wrede <georg.wrede nospam.org> writes:
Anders F Björklund wrote:
 It's just some geek trivia, nothing more - nothing less...
 (it's still kinda funny to name them "fear" and "panic")

:-) Let's not tell anybody outside this NG!
 But just like Walter, I don't see why it is inherently
 wrong to give a name to the standard/runtime library ?

Ehhh, I've argued the reasons all over this NG for the last two days. Now, I just give up. (After all, even I know it's not /that/ important.) But if I were Walter, I'd save the Phobos and Deimos names to something grander. Like proprietary products (e.g. payware "unique to Digital Mars, known for its Top Class D developer products", sold to D using corporations, for megabucks). Since Mars only has so many moons, there is a scarcity of First Class names.
 Must everything be named like: libc and libstdc++ ?

You must be a Mac person! :-)
 (Wonder if it should be "libd" or "libstdd", BTW ?)

Actually, not bad at all!!!
Mar 30 2005
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Georg Wrede wrote:

 But just like Walter, I don't see why it is inherently
 wrong to give a name to the standard/runtime library ?

Ehhh, I've argued the reasons all over this NG for the last two days. Now, I just give up. (After all, even I know it's not /that/ important.)

Then again, *unlike* Walter I also don't think that Phobos should be the primary name for it, but just a cute "nickname" I think the official name should be: "the D standard library" (then again, that somehow suggests a standard body involved?) To me, there is no conflict between the two names for it. But if I must pick one, then "std" would of course be it... Renaming the modules or directories to "phobos" is silly.
 Must everything be named like: libc and libstdc++ ?

You must be a Mac person! :-)

If that means like: "not boring", then thank you ! ;-) (and to be honest I'm a "Mac and Linux" person nowadays) I don't really have any problem with "libd" and "diesel", except that it is much less creative than what Phobos is... But first, the compiler internals and garbage collector should be split off from the D standard library itself. That is more important than any renaming or reorganization.
 (Wonder if it should be "libd" or "libstdd", BTW ?)

Actually, not bad at all!!!

The question was actually: "which one thereof ?", assuming that it it's a bad thing to have both... On Unix, that is not really a problem. (by using symlinks) For instance, Mac OS X does not have any libraries for: -lc or -lm or -lpthread. But you can still link to them...
 /usr/lib/libc.dylib -> libSystem.dylib
 /usr/lib/libm.dylib -> libSystem.dylib
 /usr/lib/libpthread.dylib -> libSystem.dylib

On Windows, you probably need to pick just one .LIB name ? --anders
Mar 30 2005
parent reply "Walter" <newshound digitalmars.com> writes:
"Anders F Björklund" <afb algonet.se> wrote in message
news:d2f226$20ig$1 digitaldaemon.com...
 But first, the compiler internals and garbage collector
 should be split off from the D standard library itself.

But they already are! They're in the 'internal' package.
Mar 31 2005
next sibling parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Walter wrote:

But first, the compiler internals and garbage collector
should be split off from the D standard library itself.

But they already are! They're in the 'internal' package.

I meant as separate libraries, so that one could use a different standard library (such as Ares) and/or minimize compiler dependencies (i.e. with GDC compiler), and use a different garbage collector implementation without recompiling the main library archive (phobos) ? But I'll try to sum it up in a more step-by-step suggestion. --anders
Mar 31 2005
prev sibling parent reply Sean Kelly <sean f4.ca> writes:
In article <d2gd56$dpk$1 digitaldaemon.com>, Walter says...
"Anders F Björklund" <afb algonet.se> wrote in message
news:d2f226$20ig$1 digitaldaemon.com...
 But first, the compiler internals and garbage collector
 should be split off from the D standard library itself.

But they already are! They're in the 'internal' package.

But everything compiles as a unit. This wouldn't be a big deal in itself if the code in internal didn't import anything from std, but it does. So while the different bits are logically separate, they are functionally intertwined. This isn't an issue for the average D programmer, but it is for someone looking to write a standard library for a D compiler. One of the fundamental goals for Ares, IMO, was to remove these dependencies when possible, and to document them when not. Ideally, it should be possible to code a new standard library or garbage collector from the spec and drop it into any D compiler with a minimum of effort. I don't believe that this is currently possible with Phobos. Sean
Mar 31 2005
parent "Walter" <newshound digitalmars.com> writes:
"Sean Kelly" <sean f4.ca> wrote in message
news:d2h6tm$19qr$1 digitaldaemon.com...
 In article <d2gd56$dpk$1 digitaldaemon.com>, Walter says...
"Anders F Björklund" <afb algonet.se> wrote in message
news:d2f226$20ig$1 digitaldaemon.com...
 But first, the compiler internals and garbage collector
 should be split off from the D standard library itself.

But they already are! They're in the 'internal' package.

But everything compiles as a unit. This wouldn't be a big deal in itself

 code in internal didn't import anything from std, but it does.  So while

 different bits are logically separate, they are functionally intertwined.

 isn't an issue for the average D programmer, but it is for someone looking

 write a standard library for a D compiler.  One of the fundamental goals

 Ares, IMO, was to remove these dependencies when possible, and to document

 when not.  Ideally, it should be possible to code a new standard library

 garbage collector from the spec and drop it into any D compiler with a

 of effort.  I don't believe that this is currently possible with Phobos.

Ok, I understand now.
Mar 31 2005