Можно ли использовать API GHC для изменения программы во время компиляции?

StackOverflow https://stackoverflow.com/questions/3864766

  •  28-09-2019
  •  | 
  •  

Вопрос

Я хочу проверить реализацию оптимизации компилятора P копилеобразным процессом компиляции GHC и изменяя его основное представление. Идея будет иметь что-то вроде:

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

куда modify принимает основное представление и возвращает модифицированную версию. Этот код, однако, не удается (даже при модификации ничего не делает вообще) с не очень полезным сообщением:

expectJust mkStubPaths

Любые идеи о том, как сделать эту работу, или если это даже возможно реализовать кодовое преобразование таким образом?

Это было полезно?

Решение

Это звучит как ошибка в compileCoreToObj мне. Пожалуйста доложите об этом.

Другие советы

GHC имеет поддержку для плагины Теперь, кажется, что именно вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top