From: Jesse G. <je...@wi...> - 2004-08-04 16:49:26
|
Jere Sanisalo wrote: > On Wed, Aug 04, 2004 at 11:38:50AM -0400, Jesse Guardiani wrote: >>> Another data point in this discussion is that ocamldbi is pure OCaml, >>> believe it or not. It relies on external C bindings provided by other >>> libraries. So for example, the path to PostgreSQL is: >>> Dbi_postgres -> Alaine Frische's Postgres -> libpq >>This is why I don't understand why ocamldbi isn't entirely included in >>extlib. It's pure ocaml code, and it seems to install only the drivers >>that exist in the OS at compile time. > > Well will it be pure ocaml for the whole duration of the project? Also is > the driver selection in some makefile or configure script? I currently > enjoy using extlib because of it's simplicity. I have made a custom > ocalibsmake makefile, which makes plugging extlib to my own projects a > breeze (add one dependency line and that's it). > > If extlib were to introduce conditional modules, I would have to find a > workaround. Also if there are conditional modules, why stop at DBI > drivers? There are a few things that can be done with 3.08 (but not 3.07), > things such as directly inlining some array accesses and 32bit floating > points -> ints. DBI, by definition, relies on conditional components. The current build process (as I understand it) only builds those modules that are supported by the OS at that time. In my case, this is mysql, so dbi_mysql is built. If you add postgres to your system later, then you have to rebuild ocamldbi. I guess this supports the current layout, because DBI itself is constant (or should be), while the individual database interfaces (like dbi_mysql) can come and go (from the OS, and the internet). I guess, this also suggests that DBI should be in extlib, but the database interface modules should be included in separate packages. Mr. Jones argues that DBI isn't stable enough for this yet. And if that's the case, then perhaps DBI should be removed from extlib until it IS stable. Otherwise, what's the harm in syncronizing the release of database interface modules with extlib releases? (i.e. dbi_mysql for extlib 1.4) We'll have to do this eventually anyway if DBI is to stay in extlib. Open Source software rarely stays completely constant if people are actively using it, and I see DBI as being a popular and necessary compliment to OCaml for real development. Development can then be carried on in CVS, and any new extlib releases will warrant individual dbi interface module releases... -- Jesse Guardiani, Systems Administrator WingNET Internet Services, P.O. Box 2605 // Cleveland, TN 37320-2605 423-559-LINK (v) 423-559-5145 (f) http://www.wingnet.net |