Реализация языкового переводчика в Хаскеле

Я хочу внедрить обязательный переводчик языка в Haskell (для образовательных целей). Но это'Мне сложно создать правильную архитектуру для моего интерпретатора: как хранить переменные? Как я могу реализовать вызовы вложенных функций? Как мне реализовать переменную область видимости? Как я могу добавить возможности отладки на моем языке? Должен ли я использовать монады / монадные трансформаторы / другие методы? и т.п.

Кто-нибудь знает хорошие статьи / статьи / учебники / источники по этому вопросу?

Ответы на вопрос(2)

Ваш ответ на вопрос