Рассмотрим следующий код:
module TestPlugin where
import GhcPlugins
plugin :: Plugin
plugin = defaultPlugin {installCoreToDos = install}
install opts todos = do
putMsgS "Hello world"
return todos
Этот код прекрасно компилируется.Если я прошу Cabal зарегистрировать его как пакет, он работает нормально.Однако, если я пытаюсь использовать этот плагин, это происходит:
> ghc -fplugin=TestPlugin HelloWorld.hs
Access violation in generated code when reading 0xffffffffffffffff
Attempting to reconstruct a stack trace...
Frame Code address
* 0x22dae0 0x131173f C:\Program Files\Haskell Platform\8.6.3\bin\ghc.exe+0xf1173f
* 0x22dae8 0x1
* 0x22daf0 0x4b40022dbc8
* 0x22daf8 0x231790
Это происходит независимо от того, какой файл исходного кода я пытаюсь скомпилировать.Если бы кто-нибудь мог сказать мне, как заставить эту бешеную ошибку уйти , это было бы замечательно.
Windows 7, 64-bit.Последнюю платформу Haskell, которую я смог найти (скачано сегодня, 64-разрядная версия), GHC 8.6.3.
Поскольку это в значительной степени дословный пример плагина из официальной документации, я не думаю мой код делает что-то не так.Это известная ошибка или что-то?