RFC: External library infrastructure
12 Nov 2002 17:25:42 +0000
Simon Marlow <email@example.com> writes:
> Hi Folks, It has occurred to us that the GHC community really needs
> an infrastructure (i.e. like a build system, but more) that people
> can use for shipping their own libraries independently of GHC.
I'd like to throw the following into the pot:
The Hugs and GHC developers work pretty hard to keep the two
compilers compatible. For example, the next Hugs release will ship
with libraries from the same source tree as GHC uses and the same
foreign function interface as GHC and the GHC folk recently gave up
a feature they dearly wanted in the foreign function interface in
the name of portability.
So as people try to come up with a distribution and build mechanism
that will work for GHC, it would be good to think about how that
same mechanism would work for Hugs too. For example, an extension
of GHC's existing package mechanism might work well because it would
be easy for Hugs to extract the pieces it needs and the package
mechanism has little irrelevant stuff. In contrast a variation on
the existing Makefile system would work poorly because the
complexity for the library developer of buying into the
infrastructure far exceeds the complexity of the task (which for
Hugs is overcoming a few minor platform dependencies using autoconf
or the like, building any foreign function interface libraries, and
overcoming a few remaining Hugs-GHC incompatabilities).
We might also want to develop a common testing infrastructure for
libraries which, ideally, would work with all compilers.
[Of course, much of the above is true if you replace 'Hugs' with 'NHC'
but I'm not certain of the exact status of NHC at the moment so I'll
let them speak for themselves.]
Alastair Reid firstname.lastname@example.org
Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/