[Haskell-cafe] Building lambdabot

Max Bolingbroke batterseapower at hotmail.com
Thu Jan 20 18:45:54 CET 2011


On 20 January 2011 17:30, Gwern Branwen <gwern0 at gmail.com> wrote:
>> * You need to loosen the base upper bound to < 4.4
>> * If using base >= 4, you need to depend on the syb package as well
>> (current version 0.3)
>
> Would this break GHC 6.12 builds?

Thats why I suggested the flag stanza. Cabal has a weird kind of flag
semantics where it will try every possible combination of flags until
it finds one that builds. The solution I suggested uses this behaviour
to either depend on base >= 4 && < 4.4 WITH syb, OR base < 4 WITHOUT
syb. Because of the default flag setting of True, the first
possibility will be tried first, but it if fails Cabal will just fall
back on base < 4.

In short, it should work perfectly for either GHC 7 or 6.12 clients
(modulo syntax issues - I haven't actually tried the syntax I sent
you).

> data-memocombinators is only the tip of the iceberg; I believe much of
> lambdabot would need modifications. (Apparently Control.OldException
> has gone away, which alone guarantees many changes.) So there wouldn't
> be much point to changing show.

Actually, I:
 * Fixed the show upper bound
 * Fixed data-memocombinators and data-inttrie upper bounds (and sent
a pull request to get Luke to take these changes upstream)
 * Got Wouter to change the upper bound on IOSpec (will be in the
0.2.2 release, out soon)

And after all that lambdabot seemed to compile OK (though I got a
link-time error about iconv because I'm on a Mac). So if you fix show
GHC 7 users will be able to cabal install lambdabot!

Cheers,
Max



More information about the Haskell-Cafe mailing list