Backpack doesn't reject insufficiently instantiated units early enough
Failing to instantiate a unit which has free holes does not raise an error when it should, so we get a confusing error later on:
unit p where
signature H where
data S
unit q where
dependency p -- we should instantiate, e.g. by writing p[H=<H>], but we don't
module N where
import H
error:
Could not find module `H'
It is not a module in the current program, or in any known package.
|
7 | import H
| ^^^^^^^^
I think we should be required to instantiate p
, getting an error early on.
This doesn't only affect .bkp
files, as omitting instantiation can also cause "Could not find module" errors when using cabal
.