例如,如何定义函数应用程序('')?该定义是否必须在解析器/编译器本身内,或者是否可以在自定义脚本中重写?
答案 0 :(得分:13)
Haskell未定义为metacircularly。它由haskell报告定义:http://www.haskell.org/onlinereport/haskell2010/
没有可插拔的haskell编译器可以让你动态覆盖应用程序。您可以使用模板haskell,或者您可以使用haskell-src-exts解析haskell并编写自己的解释器,或者您可以使用插件:http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/compiler-plugins.html