FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Post new topic   Reply to topic     Forum Index -> Ares
View previous topic :: View next topic  
Author Message

Joined: 21 Jul 2005
Posts: 61

PostPosted: Thu Jul 21, 2005 6:37 pm    Post subject: docs? Reply with quote

i grabbed ares but can someone explain the codebase? what exactly are the different libs for?
Back to top
View user's profile Send private message

Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Jul 21, 2005 11:50 pm    Post subject: Reply with quote

At the moment, Ares contains the bare minimum for a D application: a garbage collector, compiler runtime routines, and multithreading support. Much of this was extracted from Phobos, where it all existed as a single library. One of the initial goals of Ares was to separate the standard library, garbage collector, and runtime code so that each portion could be swapped out easily. This would allow third-party standard library or garbage collector components to be plugged into any compiler, as well as offering a bit more flexibility in what library routines are available. The breakdown is as follows:

dmdgc - DMD garbage collector
dmdrt - DMD compiler runtime
ares - Ares standard library

The Ares library itself aims to be a complete redesign of what you'd find in the "std" portion of Phobos, so expect it to ultimately contain utilities, containers, i/o components, etc. Most of this will be drawn from third-party submissions with an aim for consistency and robustness.

The zipfile contains four libraries: dmdgc.lib, dmdrt.lib, ares.lib, and phobos.lib. In this case, phobos.lib is actually just a compilation of the other three libraries, as DMD automatically looks for a file named "phobos.lib" when it's linking (it was easier to just duplicate the file name than to hack the DMD executable).

Sadly, there's little documentation yet, but the only things you should likely care about are in the ares directory:

atomic - In development. This will contain some basic tools for lockless programming.
thread - The Thread class and some GC support functions. The Windows version is nearly complete, but the Posix version still needs work.
error - Hooks for system errors and some system-level exception classes. More will be added in the future.
gc - The GC interface from Phobos. This needs to be looked and and possibly redone.
intrinsic - Mango needs this, as does some of the DMD support code. Again, copied from Phobos.

As for the rest, std.c is a nearly full implementation of the C99 inteface, and I'm working on finishing std.c.posix. Development has slowed a bit as everyone (including me) has been on vacation recently, but I expect things to speed up again before too long.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Ares All times are GMT - 6 Hours
Page 1 of 1

Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2005 phpBB Group