new Library Infrastructure spec.

S. Alexander Jacobson haskell at alexjacobson.com
Mon Jun 7 13:03:03 EDT 2004


Isaac,

> I don't think the "runhugs" bit is a requirement.  You can execute the
> setup script however you like.

Any reason we can't simplify Joe's interface to:

   ghc  --install http://url/of/some.pkg

   --or--

   hugs --install /path/to/some.pkg

Where some.pkg is some combination of tarball and
setup specification.  The install system of the
compiler/interpreter would retrieve some.pkg from
the specified location, and use the setup spec to
compile it and put it in the appropriate locations
such that Joe can use it from his Haskell program
or perhaps invoke it as an executable in whatever
manner is appropriate to his local OS (mouse-click
or command-line).

The open question is what this setup specification
should look like.  There is an obvious tradeoff
between the interests of Joe and Angela on the one
hand and Marcus on the other.

Marcus creates packages that require some
combination of GCC and Perl and perhaps some
random Perl libs from CPAN to build.  There is
really no way to make installation of systems he
creates simple and generic.  My feeling is that we
shouldn't even bother to try.  Marcus and Sam both
know enough to communicate effectively to make it
happen and neither of them is going to be happy
trusting some generic install script to get it
right on their totally customized systems!

Angela OTOH knows little about platform
dependencies and other stuff and simply wants to
make a couple of Haskell libraries available with
minimum hassle.  Angela would almost certainly
prefer a system in which the compiler
can guarantee her that her package will install
correctly on all conforming Haskell compilers to
a system where she has the full freedom to script
arbitarily complex installation and make
arbitrarily obscure mistakes on any system.
I don't know whether the setup spec should be a
static data structure or Arie's setup monad, but
I'm pretty sure that Angela would prefer either
one to generic IO.

-Alex-

PS I am dropping the issue of malware here to
focus on making things as easy as possible for Joe
and Angela.

PPS I realize that you really want to suport
Marcus as well.  Perhaps it might make sense to
separate hc-pkg from the rest of the document?

___________________________________________________________________
S. Alexander Jacobson                      Check out my new blog!!!
1-917-770-6565 voice                       http://alexjacobson.com






More information about the Libraries mailing list