Skip to content

Missing module imports could be defered with -fdefer-out-scope-variables?

If I write a module with a non-existent then you get an error such as:

A.hs:3:1: error:
    Could not find module ‘FooBaz’
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
  |
3 | import FooBaz
  | ^^^^^^^^^^^^^

but if we turn on -fdefer-out-of-scope-variables then we might expect that we could continue and get more interesting diagnostics for the rest of the module. A missing module could be thought of as an out-of-scope variable.

One issue with this scheme is that identifiers which would come from this module would then be reported as out-of-scope which could cause additional confusion due to the cascading nature of deferred errors.

What do you think @wz1000 @monoidal ?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information