ANNOUNCE: GHC version 6.10.1 - EditLine / terminal incompatibility?

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Sat Nov 22 08:49:43 EST 2008


On Fri, 2008-11-21 at 14:01 +0000, Simon Marlow wrote:

> I propose we do this:
> 
>   * extract the GHCi UI from the GHC package, put it in the ghc-bin package
>     (maybe we should rename this package to ghc-main or something).  This
>     removes the editline and bytestring (for now) dependencies from the GHC
>     package.

This is good independently of the other suggestions.

>   * Move to Haskeline for the default build.  We have to bring in terminfo
>     and utf8-string as bootlibs.  This gives us line-editing on Windows,
>     and removes problematic external C library dependencies.

I think this is worth trying. It seems like Judah is prepared to put the
work in to make haskeline work on various platforms and to trim the
dependencies.

Eg I'd rather us decide what to do about Unicode input rather than just
end up de-facto standardising the utf8-string package. It seemed like we
had a consensus on what to do for the H98 IO with Unicode. We just need
to get on with it. In addition we need to agree some control over
encoding when using a specific encoding is called for (eg reading a file
that is known to be UTF-16 independent of the locale).

>   * Make it possible to compile the ghc-bin package against readline.
>     Upload ghc-bin to Hackage, so people can say
>        cabal install ghc-bin -f readline
>     and get a GHCi built against readline if they want.

If haskeline "works" then I doubt there will be much pressure for
readline support. The pining for the "good old days of readline" at the
moment are only because editline clearly doesn't "work".

[For some definition of "work"]

>     Oops - except that
>     this would mean that the ghc-main package has a variant license.  So
>     maybe we have to have a separate ghc-readline package?

A variant license isn't a fundamental technical problem though perhaps
the consensus is that variant licenses are a "bad thing". I'm not sure.
One would have to use OtherLicense and specify what the conditions are
in the license file.


Duncan



More information about the Glasgow-haskell-users mailing list