Как указано в документации , модули верхнего уровня должны интерпретироваться, т.е. не компилироваться.
При загрузке модуля будет использоваться скомпилированная версия, если она доступна.В руководстве GHCi есть более подробная информация по этому вопросу.
Я предполагаю, что в той же папке из предыдущей сборки находятся test.o
и test.hi
Я смог воспроизвести ошибку с этими файлами.Удаление их решает проблему, поскольку модуль будет интерпретироваться.
Вы также можете принудительно загрузить модуль в интерпретированном режиме, поставив перед именем модуля звездочку, например, loadModules ["*" ++ mname ++ ".hs"]
.