ПроблемаСформировать окончательный код из шаблона кода Haskell
Можно ли произвести «чистую» Haskell код из одной функции, включая Template Haskell?
Я хочу получить код, в котором все qutations и сплайсы Haskell Template расширяются? (Чтобы подать его в другой Haskell компилятор (Ускорения), который не поддерживает шаблона Haskell пока.)
Пример
модуль TupleReplicate:
tupleReplicate n = do
id <- newName "x"
return $ LamE ([VarP id]) (TupE $ replicate n $ VarE id)
главный:
main :: IO()
main = do
print $(tupleReplicate 3) "x"
return()
можно расширить до:
main :: IO()
main = do
print (\x->(x,x,x)) "x"
return()
Насколько я знаю, '-ddump-splices' НЕ генерирует рабочий код Haskell. –