On Sun, May 5, 2013 at 8:25 PM, Simon Marechal <simon@banquise.net> wrote:
I ran into this kind of trouble when I was starting to learn Haskell. I
had error messages like that :

test.hs:1:8:
    Could not find module `List'
    It is a member of the hidden package `haskell98-2.0.0.2'.
    Use -v to see a list of the files searched for.

I then proceeded to figure how to include this haskell98 package, and
later ran into other problems. Perhaps this message could be hard coded
to tell the user that this is deprecated code, and he should use
Data.List instead.

Forgive me if I'm wrong, but I feel like I've seen such "suggestions" in GHC errors before.

If so, does that mean there's some sort of mechanism in the compiler already in place for such error recognition? Like some simple pattern stuff?  If not, I think that it might not be bad to consider this stuff (misused packaged, changed semantics that create compiler errors), and to put something into place for future modifications. This could make it a lot easier to deal with unmaintained code.