Haskell在运行时进行元编程

时间:2018-02-02 20:51:46

标签: haskell metaprogramming

在运行时生成代码作为字符串/ AST /其他表示形式的最简单方法是什么,然后在同一程序执行期间运行代码并计算结果值的属性?

我能想到的三种方式是某种“eval”函数,它接受表示程序的字符串或等效表达式并运行它并返回输出,“reload module”函数在动态重新加载文件期间运行时(在这种情况下,可以将生成的代码写入文件然后重新加载),或者将生成的代码写入文件,同时在该文件中包含一行,该行序列化生成的值,运行该文件,然后从中重新加载这些值序列化。

不幸的是,我还没有找到任何这些方法的解决方案 - 动态重新加载似乎不受支持,序列化显然不适用于函数。有什么建议吗?

0 个答案:

没有答案
相关问题