ghci feature request: partially read modules

Stefan O'Rear stefanor at
Sat Feb 16 13:13:42 EST 2008

On Sat, Feb 16, 2008 at 06:58:29PM +0100, Johannes Waldmann wrote:
> Sure.
> Syntax errors are usually easy to spot and fix
> (for the programmer who uses some reasonable code layout);
> the motivation for my proposal was type errors.
> I think it would be perfectly acceptable
> if ghci rejects modules with parse errors (as it does now)
> but handles modules with type errors more gracefully.
> Since type checking a group of declarations (= a module)
> often considers all declarations at the same time,
> there may be no sensible way to proceed after a type error.
> Then it would even be OK
> to not bind any of the identifiers of the module,
> as long as the import declarations are available at ghci prompt.
> (This would still be an improvement over the present situation.)

Implementing Haskell polymorphism requires that the functions be sorted
into dependancy groups, so that undepended definitions can be
generalized.  Example:

foo x = 2
bar = foo 'a' + foo True

If this were typechecked all at once (using the standard Damas-Milner
algorithm) you would get a "cannot match Bool to Char" type error.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url :

More information about the Glasgow-haskell-users mailing list