Pergunta

Quero testar a implementação uma otimização do compilador, pegando bobo no processo de compilação do GHC e alterando sua representação principal. A idéia seria ter algo como:

runGhc (Just libdir) $ do
   ...
   c <- compileToCoreModule targetFile
   compileCoreToObj False (modify c)
   ...

Onde modify pega a representação principal e retorna a versão modificada. Esse código, no entanto, falha (mesmo quando Modify não faz nada) com a mensagem não muito útil:

expectJust mkStubPaths

Alguma idéia de como fazer isso funcionar ou se é possível implementar uma transformação de código dessa maneira?

Foi útil?

Solução

Isso soa como um bug em compileCoreToObj para mim. Por favor Relate.

Outras dicas

GHC tem apoio para plugins Agora, que parecem fazer exatamente o que você deseja.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top