我需要编写一个Haskell应用程序,它可以在运行时加载另一个Haskell插件。插件是一个任意的源代码,一旦加载它运行了很长时间,所以在它使用之前以某种方式编译它将是有益的。我也考虑过使用LLVM。 我认为这肯定是一个已经解决的问题。如何以健壮的方式做到这一点?
答案 0 :(得分:6)
查看plugins
包:http://hackage.haskell.org/package/plugins。这就是我过去用来动态加载Haskell代码的东西。还有http://hackage.haskell.org/package/plugins-auto这是plugins
的包装,因此值得一看。
编辑: 如果你想深入了解一篇描述插件包www.cse.unsw.edu.au/~chak/papers/hs-plugins.ps.gz
的论文答案 1 :(得分:1)
看看XMonad。它做到了这一点。 http://xmonad.org