RFC: External library infrastructure

Alastair Reid alastair@reid-consulting-uk.ltd.uk
12 Nov 2002 17:25:42 +0000


Simon Marlow <simonmar@microsoft.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                 alastair@reid-consulting-uk.ltd.uk  
Reid Consulting (UK) Limited  http://www.reid-consulting-uk.ltd.uk/alastair/