Quiero poner a prueba la aplicación de una optimización del compilador llevando a cuestas en el proceso de compilación GHC y alterar su representación Core. La idea sería tener algo como:¿Es posible utilizar la API de GHC de modificar un programa durante la compilación de ella?
runGhc (Just libdir) $ do
...
c <- compileToCoreModule targetFile
compileCoreToObj False (modify c)
...
donde modify
toma la representación Core y devuelve la versión modificada. Este código, sin embargo, falla (incluso cuando Modificar no hace nada en absoluto) con el mensaje no es muy útil:
expectJust mkStubPaths
Cualquier ideas sobre cómo hacer este trabajo, o si es aún posible llevar a cabo una transformación código de esta manera ?
Yo era reacia a informar de ello porque no estaba seguro de si yo estaba usando correctamente las funciones. ¿Hay algún ejemplo de este tipo de transformaciones? – matiash
No sé de ningún ejemplo específico, no. –
¿Hay algún progreso con este problema? Intenté hoy exactamente el mismo código y resultó en el mismo mensaje de error. –