RFC: External library infrastructure

Alastair Reid alastair@reid-consulting-uk.ltd.uk
13 Nov 2002 00:41:24 +0000


> Could you be more concrete?  What extension of the package mechanism
> did you have in mind?  (personally I had in mind a standard autoconf
> + Makefiles story for the build system, but I'm sure there are
> better ways).

I was thinking "add all the things that make packages insufficient
to use as an infrastructure" :-)

One thing is autoconf support for those doing ffi.
We might also want conditionals in package specs (cpp enough?).

I don't see Makefiles as part of a cross-compiler story.  Rather, I
see an enhanced package system that includes a subset of makefile
functionality (e.g., Hugs' import chasing and GHC's --make
functionality).

It would be good to have a portable way of specifying most compiler
flags which affect language features.  For example, 

  features = {FFI, MPTC}

would be translated into -ffi and <whatever> for GHC and -98 for Hugs
and would trigger an error in NHC which lacks MPTC.  Flags would only
be standardized as we agree on them and there's be a way to provide
flags in a compiler-specific way to deal with the rest.

>> We might also want to develop a common testing infrastructure for
>> libraries which, ideally, would work with all compilers.

> Right on.  I'd like to propose we start from GHC's current testing
> system.  It's a small collection of Python scripts (about 900
> lines), and is designed to be compiler-independent, although I
> haven't used it with anything except GHC yet.

That sounds good.  I think we already plan (but haven't scheduled :-))
to do that for the compiler testing side so hopefully a more widely
useful library testing system could come out of it?

--
Alastair