Jump to page: 1 2 3
Thread overview
Contributing to Phobos?
May 20, 2004
Arcane Jill
May 20, 2004
Norbert Nemec
May 20, 2004
Arcane Jill
May 20, 2004
J Anderson
May 20, 2004
DemmeGod
May 21, 2004
J C Calvarese
May 21, 2004
Norbert Nemec
Re: Library Interdependence
May 21, 2004
DemmeGod
May 21, 2004
Walter
May 20, 2004
Andy Friesen
May 21, 2004
Matthew
May 21, 2004
DemmeGod
May 21, 2004
Matthew
May 21, 2004
Walter
May 21, 2004
Matthew
May 21, 2004
Kevin Bealer
May 22, 2004
Matthew
May 21, 2004
Norbert Nemec
May 21, 2004
Andy Friesen
May 20, 2004
Sean Kelly
May 21, 2004
J C Calvarese
May 21, 2004
Sean Kelly
May 21, 2004
Walter
May 20, 2004
Stewart Gordon
May 21, 2004
Arcane Jill
May 21, 2004
Matthew
May 21, 2004
A. Stevenson
May 21, 2004
Walter
May 21, 2004
Matthew
May 20, 2004
Um ... is it possible to contribute to the Phobos library?

I ask because I am writing a package in D which implements unlimited-precision integers. (It is NOT a wrapper around gmp - it is written natively in D, and very extensively unittest-ed). I expect to be finished in a week or two, although there will still be room for speed-up modifications.

Is there a way to contribute it to the public effort?

If not, should I just publish it on my own website and declare everything in my own namespace (so, for example, you'd use something like:

>       import arcane.mpi;

instead of

>       import std.mpi;

..?) What's the story? How does this work? Is Phobos purely a proprietry thing or what? Someone please enlighten me.

Arcane Jill

PS. Is the name Deimos taken?


May 20, 2004
Before taking contributions for the standard library, it should be made clear what the development model there is. Adding something to "std" should really be a step that is well considered. Only rock-solid designs should enter std. Also, all parts of std should be tightly integrated. e.g: if there is a library for unlimited-precision integers in std, it should be made certain that every other part of std does fully cooperate with it, etc.

Maybe, an additional contrib library should be opened? As a place where all kinds of contributions are collected?

In any case: a clear model for developing an extensive library is crucial for the language. Just consider Perl: The language is ugly like something, but the CPAN definitely is worth quite bit.


Arcane Jill wrote:

> Um ... is it possible to contribute to the Phobos library?
> 
> I ask because I am writing a package in D which implements unlimited-precision integers. (It is NOT a wrapper around gmp - it is written natively in D, and very extensively unittest-ed). I expect to be finished in a week or two, although there will still be room for speed-up modifications.
> 
> Is there a way to contribute it to the public effort?
> 
> If not, should I just publish it on my own website and declare everything in my own namespace (so, for example, you'd use something like:
> 
>>       import arcane.mpi;
> 
> instead of
> 
>>       import std.mpi;
> 
> ..?) What's the story? How does this work? Is Phobos purely a proprietry thing or what? Someone please enlighten me.
> 
> Arcane Jill
> 
> PS. Is the name Deimos taken?

May 20, 2004
In article <c8iib6$q59$1@digitaldaemon.com>, Norbert Nemec says...
>
>Before taking contributions for the standard library, it should be made clear what the development model there is.

I didn't completely understand that. Could you elaborate please?


>Adding something to "std" should
>really be a step that is well considered. Only rock-solid designs should
>enter std.

Well, I'm arrogant enough to believe that I have a rock solid design, but, that said, I'm quite willing to co-operate with efforts to integrate my stuff cleanly and make sure that everything works with everything else.


>Also, all parts of std should be tightly integrated. e.g: if
>there is a library for unlimited-precision integers in std, it should be
>made certain that every other part of std does fully cooperate with it,
>etc.

Do you mean, for example, that std.stream.Stream should have functions to read and write unlimited-precision integers, just as they have functions to read and write normal ones? That sort of thing would be beyond my control, but very easy for you guys to add, given my API.


>Maybe, an additional contrib library should be opened? As a place where all kinds of contributions are collected?

Maybe "Deimos" could be that place? If so, they could stay there until (if and when) the powers that be in D-land decide that it's worthy - at which point it could be moved from Deimos to Phobos. Would that be a good idea?


>In any case: a clear model for developing an extensive library is crucial for the language. Just consider Perl: The language is ugly like something, but the CPAN definitely is worth quite bit.

Actually, the truth is though that I'm not writing this for glory, I'm writing it because I actuallly need to use it. (I'll be writing a crypto library later on, too). But ... I suspect that other people will find big integers useful, given the popularity of gmp on Linux. And I'm also being very careful to stick to they style guide, make full use of unit tests and contracts and so on.

Arcane Jill


May 20, 2004
Arcane Jill wrote:

>
>
>Maybe "Deimos" could be that place? If so, they could stay there until (if and
>when) the powers that be in D-land decide that it's worthy - at which point it
>could be moved from Deimos to Phobos. Would that be a good idea?
>
>  
>
Sounds like a good idea.  Maybe "deimos" could be maintained at www.dsource.org?  It could be done in such a way that changed phobos files could be placed in deimos.  For example if you needed to change string you'd add the module:

module deimos.std.string;

To deimos with the phobos like string.  If that's ok to Walter of couse.  Then a commitee (or whatever) and Walter could decide later what bits of code are good enough for phobos and beable to copy and paste the different segments.

-- 
-Anderson: http://badmama.com.au/~anderson/
May 20, 2004
Norbert Nemec wrote:

> Also, all parts of std should be tightly integrated. e.g: if
> there is a library for unlimited-precision integers in std, it should be
> made certain that every other part of std does fully cooperate with it,
> etc.

The Phobos philosophy <http://digitalmars.com/d/phobos.html> seems to favour low coupling over "tight integration".  (I never liked that term; I always hear/read it and think "hopelessly interdependant")

 -- andy
May 20, 2004
Arcane Jill wrote:

<snip>
> If not, should I just publish it on my own website and declare everything in my
> own namespace (so, for example, you'd use something like:

Several of us have our websites where we keep our homemade libraries and stuff.  For example, mine is http://smjg.port5.com/pr/d/.  You might as well do the same.

>>      import arcane.mpi;
> 
> instead of
> 
>>      import std.mpi;

Are we still talking of your unlimited-precision integer module here? Better tell everyone it isn't to do with Message Passing Interface....

<snip>
> PS. Is the name Deimos taken?

I don't know where my mind had gone, besides into thinking Phobos must be Greek for fear.  But quite what the lib's afraid of, I never figured.... :-)

Stewart.

-- 
My e-mail is valid but not my primary mailbox, aside from its being the unfortunate victim of intensive mail-bombing at the moment.  Please keep replies on the 'group where everyone may benefit.
May 20, 2004
Norbert Nemec wrote:

> Before taking contributions for the standard library, it should be made
> clear what the development model there is. Adding something to "std" should
> really be a step that is well considered. Only rock-solid designs should
> enter std. Also, all parts of std should be tightly integrated. e.g: if
> there is a library for unlimited-precision integers in std, it should be
> made certain that every other part of std does fully cooperate with it,
> etc.

I agree completely.  And this has actually been my greatest concern with the rush to 1.0.  It will be much easier to add new features a bit late in the game then try to pull out or alter ones that were added a bit prematurely.  Java had this problem in spades, which was a major obstacle to its widespread acceptance.

> Maybe, an additional contrib library should be opened? As a place where all
> kinds of contributions are collected?

The C++ community has this with Boost and I think it's a fantastic idea.    Submissions get excellent peer review and tons of user testing before any chance of inclusion into the C++ standard library.  And while D doesn't have a standards body to contend with, I think a similar model would work quite well.

> In any case: a clear model for developing an extensive library is crucial
> for the language. Just consider Perl: The language is ugly like something,
> but the CPAN definitely is worth quite bit.

I think D needs a focus.

Much of the C++ standard library is almost a proof of concept for generic programming, and it's easy to see which components were standardized before and after this focus occurred.  I can't help but wonder if streams would have been different had they been designed today, for example.

But the same thing needs to happen with D.  Is the goal merely to improve upon exsting techniques?  And if so, which ones?  D is in an odd situation where it's gathering programmers from two very different backgrounds--Java and C++--and each carries an entirely different mindset.  As a C++ person I find myself opposing the folks who seem to want D to be a better Java, or to replicate Java libraries in D.  But my criticisms are half-baked because my perspective is obviously biased as well.  So what are the design goals for D?  In addition to coding standards, I feel there are design standard that Phobos submissions should conform to.

Sean

May 20, 2004
On Fri, 21 May 2004 00:20:48 +0800, J Anderson wrote:

> Arcane Jill wrote:
> 
> 
>>
>>Maybe "Deimos" could be that place? If so, they could stay there until (if and when) the powers that be in D-land decide that it's worthy - at which point it could be moved from Deimos to Phobos. Would that be a good idea?
>>
>>
>> 
> Sounds like a good idea.  Maybe "deimos" could be maintained at www.dsource.org?  It could be done in such a way that changed phobos files could be placed in deimos.  For example if you needed to change string you'd add the module:
> 
> module deimos.std.string;
> 
> To deimos with the phobos like string.  If that's ok to Walter of couse. Then a commitee (or whatever) and Walter could decide later what bits of code are good enough for phobos and beable to copy and paste the different segments.

There's also the licensing issue... As far as I know, the phobos license
isn't open source, and still sort of up-in-the-air.  Walter (and Matthew,
I guess) need to fix this before these sort of contributions should occur.
 All they have to do is slap an F/OSS complaint license on it!

May 21, 2004
Sean Kelly wrote:
> Norbert Nemec wrote:
> 
>> Before taking contributions for the standard library, it should be made
>> clear what the development model there is. Adding something to "std" should
>> really be a step that is well considered. Only rock-solid designs should
>> enter std. Also, all parts of std should be tightly integrated. e.g: if
>> there is a library for unlimited-precision integers in std, it should be
>> made certain that every other part of std does fully cooperate with it,
>> etc.
> 
> 
> I agree completely.  And this has actually been my greatest concern with the rush to 1.0.  It will be much easier to add new features a bit late 

I could be entirely wrong, but I believe the idea is that D 1.0 means the specification is set in stone. I think Phobos would continue to be in flux for a while.

> in the game then try to pull out or alter ones that were added a bit prematurely.  Java had this problem in spades, which was a major obstacle to its widespread acceptance.
> 
>> Maybe, an additional contrib library should be opened? As a place where all
>> kinds of contributions are collected?
> 
> 
> The C++ community has this with Boost and I think it's a fantastic idea.    Submissions get excellent peer review and tons of user testing before any chance of inclusion into the C++ standard library.  And while D doesn't have a standards body to contend with, I think a similar model would work quite well.
> 
>> In any case: a clear model for developing an extensive library is crucial
>> for the language. Just consider Perl: The language is ugly like something,
>> but the CPAN definitely is worth quite bit.
> 
> 
> I think D needs a focus.

Walter is focused on implemented the compiler. Many of the rest of us are focused on requesting new features for said compiler.  :)

Fortunately, Walter's concentration power is stronger than our distraction power. Otherwise, we would have a compiler that looks great on paper, but won't be available until 2010 (at the earliest).

> 
> Much of the C++ standard library is almost a proof of concept for generic programming, and it's easy to see which components were standardized before and after this focus occurred.  I can't help but wonder if streams would have been different had they been designed today, for example.
> 
> But the same thing needs to happen with D.  Is the goal merely to improve upon exsting techniques?  And if so, which ones?  D is in an odd situation where it's gathering programmers from two very different backgrounds--Java and C++--and each carries an entirely different mindset.  As a C++ person I find myself opposing the folks who seem to want D to be a better Java, or to replicate Java libraries in D.  But my criticisms are half-baked because my perspective is obviously biased as well.  So what are the design goals for D?  In addition to coding standards, I feel there are design standard that Phobos submissions should conform to.

I've noticed a certain C++ vs. Java undertone to some of these discussions, too. "Well, this is how I program in Java, so we need to add a feature to D to facilitate this." or... "Well, D needs to overload operators ad infinitum because that's what I like to do in C++."

When you refer to coding standards, do you mean things like "avoid using goto" or "place your braces {} like this ..."? Both types of standards are useful (though usage would be more essential than style), but both would probably generate some controversy.

> 
> Sean 


-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/
May 21, 2004
J Anderson wrote:
> Arcane Jill wrote:
> 
>>
>>
>> Maybe "Deimos" could be that place? If so, they could stay there until (if and
>> when) the powers that be in D-land decide that it's worthy - at which point it
>> could be moved from Deimos to Phobos. Would that be a good idea?
>>
>>  
>>
> Sounds like a good idea.  Maybe "deimos" could be maintained at www.dsource.org?  It could be done in such a way that changed phobos files could be placed in deimos.  For example if you needed to change string you'd add the module:
> 
> module deimos.std.string;

Great idea!

We could also follow this convention...

Phobos: std.string
Deimos: etc.string

(Walter has already said that "etc" was intended for items that might eventually be put into Phobos.)


> 
> To deimos with the phobos like string.  If that's ok to Walter of couse.  Then a commitee (or whatever) and Walter could decide later what bits of code are good enough for phobos and beable to copy and paste the different segments.

Right. And in the meantime, we could find these various items in one handy location, such as dsource (as you mentioned earlier).



-- 
Justin (a/k/a jcc7)
http://jcc_7.tripod.com/d/
« First   ‹ Prev
1 2 3