RE: new release of LIP prototype API

(snip)
I've downloaded the latest, but I'm having a hard time getting my head around the overall structure. It feels to me a bit like a tangled ball of string, whose free end I cannot find. (This a comment on my understanding, not your code/design!)
:)
Allow me to try to give a top-down overview of the structure, which should help you find the end(s) of the string. A Haskell library (or application?) comes with a Haskell program in the form of a file named Setup.hs. This program does the following: - it accepts certain standard command-line options (build all, build default etc.) - It knows how to build, and install, the library using sensible defaults. It does this by either - Invoking the LIP build/install system in Distribution.Build and Distribution.Install, or - Invoking a custom build system (standard configure; make; make install stuff). - Once installed, Setup.hs registers the package using the Distribution.Package interface. There are still quite a few questions to answer here, some of which Graham brought up. One is how do we tweak the installation locations for the libraries, and other build/install-time options? Normally this is done by passing arguments to configure: should we have more options to Setup.hs for these things? Looking at the proposal, Perhaps Setup.lhs should have a configure step too. Something like this: $ ./Setup.lhs configure prefix=/usr/local HC=/usr/bin/ghc $ ./Setup.lhs build $ ./Setup.lhs install $ ./Setup.lhs uninstall (registation is done as part of install). Note the uninstall step, which also unregisters the package. Does it matter which compiler is used to run Setup.lhs? I claim yes (see previous discussions). Cheers, Simon
participants (1)
-
Simon Marlow