Ideas for library infrastructure

Andres Loeh
Mon, 28 Apr 2003 21:36:46 +0200

> [oops, accidentally sent the message before I'd finished it...] 
> Ralf Hinze writes:
> > I like Andres' proposal. It puts some burden on the
> > compiler writers (but this work has to be invested
> > only once) and considerably simplifies things for
> > the library writers.
> Putting the burden on the compiler writers is exactly what we want to
> avoid - us compiler writers tend to be too busy writing compilers!
> Instead, what I would like to see is a separate library infrastructure
> that smooths over the differences between systems and compilers, and
> provides something that library writers can just plug their library
> sources into.
> I don't think we need to (or indeed, should) go as far as specifying
> installation locations, or extra tools that compilers should provide.
> All this should be embodied in the library infrastructure, which is
> written once and maintained by a single group of individuals.
> Cheers,
> 	Simon

I do not really see a conflict between my proposal and Simons statement 

The central point, so I think, of my proposal is to distinguish and 
clearly separate two phases:

One phase is what the library writer has to implement to install a library
in a central location on a system. Of course, this specification should be
compiler-_independent_, and could be placed in a to be written standard
that could be maintained by an independent group of people.

The other phase is what "the compilers should do" to make a so-installed 
library access-ready for the particular system. BUT, this phase does not 
have to be an integral part of the compiler and as such could also be 
implemented as a set of compiler-specific tools (or even _one_ tool) by an 
independent group of people as well. The important point is that this is 
something that can be expected to be present by the library writers, so 
they do not have to care about how it works.

I do not quite understand your last paragraph: You say we should not 
specify installation locations but then say it should be "embodied" in the 
library infrastructure. How do you mean that? I assumed you were proposing 
to get away from one central distribution of all libraries that is shipped 
together with the compilers toward an easy possibility to selectively 
install and upgrade single libraries. So, certainly, we _do_ need some 
kind of standard behaviour what should happen upon installation, but that 
behaviour _should_ be part of the specified library infrastructure and as 
such not be a burden on the compiler writers.



Andres Loeh, Universiteit Utrecht