Page 1 of 4
PDCLib status
Posted: Sun Mar 07, 2004 5:43 am
by Candy
As I found that the pdclib forum itself is not being visited (barely at most), it's barely being used, and it doesn't offer file hosting (I think), and since it's tightly OSdev linked, I thought it would be appropriate if I posted a status thread about it here.
I'm evangelising for people too. You all probably know what a C library is. You know why you need one. You know how much work it is, so if you want to do 1/10th of the work and get the entire library, think of joining.
The project is still under close guidance by Solar, but I seem to be unable to contact him. However, here's my first code update too (still don't know whether the email last week reached you, let alone the one yesterday). You seem to watch this forum more too.
Hope this is OK with everybody, Candy
- okay, the file has to be externally hosted, it's >30k. Find it at
www.atlantisos.com/pub/pd/pdclib/math.h
Re:PDCLib status
Posted: Sun Mar 07, 2004 7:00 am
by Tim
The shame! No wcs functions! Hey, I've got some wide string functions. Why don't I help out and add some?
Re:PDCLib status
Posted: Sun Mar 07, 2004 7:04 am
by Candy
Tim Robinson wrote:
The shame! No wcs functions! Hey, I've got some wide string functions. Why don't I help out and add some?
wcs? Windows Connection Sharing???
oh, wide char string functions
. Please do, if you're willing to release them to the public domain.
Re:PDCLib status
Posted: Sun Mar 07, 2004 7:24 am
by Tim
It's mostly search-and-replace on the str functions, replacing char with wchar_t and str with wcs. Mobius relies fairly heavily on them, so I think they should be part of any C library.
Re:PDCLib status
Posted: Sun Mar 07, 2004 8:15 am
by Therx
Mobius relies fairly heavily on them, so I think they should be part of any C library.
Seems like a fairly biased opinion
Pete
PS. Nice work Candy. I think Solar has already got some of the maths functions from my old lib and some other libs. They may not be quick but they work. So before spending LOADS of time I'd check to see what's already in the CVS.
Re:PDCLib status
Posted: Sun Mar 07, 2004 2:42 pm
by Solar (on the run)
Just a quick one before I drop dead (dog tired)... I'm still here, and wasted a perfectly good weekend trying to get a working Linux installation... will be back soon... :-\
Re:PDCLib status
Posted: Sun Mar 07, 2004 9:58 pm
by Curufir
Ahh. Well the repository didn't show any trig functions so I've been pecking away at them (Nothing fancy, just generic maths that works...if not quickly). If someone's already done them though I'm happy, ecstatic even, to just drop the whole lot in the bin ;D.
Re:PDCLib status
Posted: Sun Mar 07, 2004 10:26 pm
by Solar (on the run)
Just a quick note... please stick to C99 standard functions only. I don't want this baby to grow into another glibc everything-and-much-more behemoth, I want it to be a clean and compliant C99 standard lib for people to start from. (Later options include support for older standard revisions (C89) and C++, but still the idea is to implement the standard and no more.)
Re:PDCLib status
Posted: Mon Mar 08, 2004 3:14 am
by Solar
OK, I've got time for a longer answer now.
Candy wrote:
As I found that the pdclib forum itself is not being visited (barely at most), it's barely being used, and it doesn't offer file hosting (I think)...
There's currently little to talk about. I still feel it would be more polite to this forum's citizens to keep project-specific talk to the project-specific forum. True, it doesn't offer file hosting - the preferred way currently is direct e-mail to me; I will set up some automated upload ASAP (read, not this month, as I have several other issues to attend).
...and since it's tightly OSdev linked, I thought it would be appropriate if I posted a status thread about it here.
As long as no-one complains... it just does mean the SF forum gets used even less.
I'm evangelising for people too.
*groan*
Even more work for me...
No, by all means, go ahead. I'll keep up somehow.
You all probably know what a C library is. You know why you need one. You know how much work it is, so if you want to do 1/10th of the work and get the entire library, think of joining.
Couldn't have put it in a better way myself. And lest you forget: It's Public Domain, so when it's finished, you can use, modify, and redistribute it under
any license you like. I would like to get credit and bug reports / patches, but I don't believe in limiting anyone by placing some restrictive license on so basic a tool.
The project is still under close guidance by Solar, but I seem to be unable to contact him.
I'm here, I'm listening, and yes, I received all your mails. Seems like my replies failed to connect, though. The quick summary is "many thanks, keep going, I'll be back to my more active former self soon and get the repository updated / fixed".
You seem to watch this forum more too.
My desktop is in shambles, my e-mail correspondence over the last few days by webmailer alone (yuck!), my server access (for updating / fixing the repository) non-existent, and my reading / posting to this place done at the office, where I have some slack these days. All this I hope to remedy ASAP (means, *this* week since I feel pretty naked without my desktop working).
Re:PDCLib status
Posted: Mon Mar 08, 2004 7:08 pm
by chris
How "free" is the public domain? Is it as free as anyone can take it and say it is theirs? I don't have any intention of doing that, but I don't know much about licenses.
Re:PDCLib status
Posted: Mon Mar 08, 2004 11:39 pm
by Perica
..
Re:PDCLib status
Posted: Tue Mar 09, 2004 2:00 am
by Solar
chris wrote:
How "free" is the public domain? Is it as free as anyone can take it and say it is theirs?
It's as free as the writings of Shakespeare, or the number Pi: Anyone can take it and do whatever with it - but people will probably laugh at you if you say it's yours.
I know what you imply, Chris. Yes, Microsoft could take this library and include it in the next release of VisualC++, without even giving us so much as the credit. The thing is, the "evil empires" already
have C standard libraries, so there's very little we would be "giving" them.
But at the same time,
you could include the code in your GPL'ed project, *BSD could include it in their BSD'ed project,
I could include it in
my project (which is neither BSD nor GPL nor PD nor exactly proprietary), and neither of us would have to worry about licensing.
And no one could forbid continued releasing of the library as Public Domain.
The point here is that it is pretty well-defined what belongs into a C standard library. Once PDCLib is finished - and it's pretty useless before that point of time - there will be only minute changes to its code base. A new charset, perhaps, or a personality module for a new compiler / CPU / OS. The main code base will remain rather static after v1.0, and there is little sense in forcing anyone to "lay open" their modifications to PDCLib when all they
could modify without spoiling the "standard" in "standard C library" are tiny tidbits...
Or, to put it in a different perspective:
I needed a C library. I could have started writing one under the same home-made license agreement as the rest of my OS. But I didn't, because I know that
every hobbyist OS needs one, and I know that the existing ones are heavily customized for the OS they have been written for. So I decided to write my own C library in a generic way, and to release it under a license that is as useful as possible to as many as possible. Should that include corporate efforts like Amiga Inc. - well,
any competition for Microsoft is
good competition, so it's fine with me.
If you don't agree, that's just as OK with me - I'm not forcing you to contribute.
Re:PDCLib status
Posted: Tue Mar 09, 2004 2:05 am
by mr. xsism
hey this would be great to ask now:
would anyone like to help me code an application for development platforms(win32,linux) that browses C source code and finds libc,C99,POSIX dependencies. For example, it would tell all the functions that it needs to compile and the headers files they are in and what kind of lib it is(POSIX or C99 etc). I would suggest we use a Dbase of function names and the headers they are contained in and maybe a description of each functions purpose.
This would be made and hosted on osdever.net
Re:PDCLib status
Posted: Tue Mar 09, 2004 2:12 am
by BI lazy
@Solar: d'ya want a malloc/realloc/free library in your pdclib?
Mine is probably not the most sophisticated and most efficient one, but it does its job quite well - although it yet lacks hooks for semaphore locks/spinlocks around critical regions and hooks for the system call "gimme mo memory".
I have not yet written a calloc (what properties does this one have?) nor do I consider my realloc a correct one (what is it expected to return upon failure?)
stay safe
Re:PDCLib status
Posted: Tue Mar 09, 2004 2:14 am
by Solar
Perica wrote:
What I think you should do is create a list of all the functions that need to be written, or that could use optimizing, so when people visit the site they know what they could help out with.
That's basically what's jumping into your face when you visit
http://pdclib.sourceforge.net.
(Yes, I know, it's slightly outdated... I'm at it ASAP.)
You could also distribute sets of architecture specific optimized functions (written in assembler, for whatever platform ... of course, you'd also distribute a portable C written version of the same functions for people who aren't compiling for whatever architecture); this could be done for functions such as memcpy, memset, etc. Or are you doing this already, or intend to?
That's the plan of the "personality modules", yes.
I'm also curious about public domain software, to exactly what extent is public domain "free" ?
See my reply to Chris. "Public Domain" means "no strings attached". Take it, and do with it whatever you want. About the only thing you
cannot do is forbidding me (or anybody else) to do the same.
Legally speaking, putting something into the Public Domain means waiving copyright. Basically, that was the meaning of "free" before the FSF turned up.
I'd be happy to help with this project, if I can (what things need doing? I don't quite understand the web site, that's why I suggest a list of all the functions that need writing...
You need a strong understanding of the C standard, its internals and technical specification. ISO/IEC 9899:1999 defines what constitutes a "standard" C library - its functions, its functionality, its error reporting.
The tick in the "code" column just means I have
some code for that function. I don't even know if it's any good because no-one (no-one I trust with the task, at least
)
reviewed it (that'd be the second column).
The main source for the code snippets was Paul Edward's PDPCLib (note the additional "P"), which was aimed at the older C89 standard - so I also have no idea whether the code I have complies with the newer C99 standard (that would be the third column).
Then, to really put trust into the code, I would like to have test drivers ("unit tests") for each and every function - that would be the fourth column...
You see, it's not like this thingy is "almost finished" - actually, it's pretty far from it. :-\