Скрытие фантомного типа в монаде ST - PullRequest
0 голосов
/ 11 мая 2018

Я пишу (небольшой шаг) интерпретатор для простого императивного языка программирования на Haskell.Я хочу выполнить оценку вне монады ввода-вывода, и поэтому я пытаюсь использовать монаду ST для изменяемых переменных.Однако я понимаю, что это означает введение новой переменной типа фантома в мой тип значения, но тогда мой тип выражения также нуждается в этом, и затем мой тип выражения также нуждается в этом, и поэтому четвертый.

Мой вопрос заключается в том,Есть ли хорошие способы избежать этой проблемы.Могу ли я каким-то образом скрыть тип фантома?Я попытался сделать это, введя forall s. в мои определения AST, но компилятор никогда не доволен этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...