Extendendo um tipo de dados em Haskell
Haskell novato aqui.
Eu escrevi um avaliador para uma linguagem mínima de montage
Agora, quero estender essa linguagem para suportar um pouco de açúcar sintático que, depois, compilarei novamente para usar apenas os operadores primitivos. A ideia é que não quero tocar no módulo avaliador novament
Na maneira OO de fazer as coisas, eu acho, alguém poderiaamplia o módulo original para apoiar os operadores de açúcar sintáticos, fornecendo aqui as regras de traduçã
Além disso, só consigo reescrever os construtores de tipos de dados nos dois módulos para que eles não colidam com o nome e procedam a partir daí, como se fossem coisas diferentes, mas isso implica alguma redundância, pois eu precisaria repita (apenas com outros nomes) os operadores em comum. Mais uma vez, acho que a palavra-chave aqui éamplia.
Existe uma maneira funcional de fazer isso?
Obrigado por reservar um tempo para ler esta pergunt