问题
是否可以从包含 Template Haskell 函数的代码中生成“纯”Haskell 代码?
我想获得扩展所有 Haskell 模板的引号和拼接的代码?(将它输入另一个 Haskell 编译器 (Haste),它还不支持 Template Haskell。)
例子
模块元组复制:
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 ()