假设我有这样一种类型的报价
我希望创建一个函数
我想部分应用引用来生成另一个引用。我相信这是可行的,有没有人有任何想法?之前有没有尝试过这样做?似乎找不到相关信息。此外,我对LISP不太熟悉--但这是否与我可以使用LISP宏实现的功能基本相似?
更新:在减少引用的同时,我希望评估可以在结果表达式树中评估的部分。
例如:
Quotations.Expr<(int -> int -> int)>
。<@ fun x y -> x + y @>
我希望创建一个函数
fun reduce x expr
,当以 reduce 1 expr
调用时,将基本上产生以下结果:<@ fun y -> 1 + y @>
我想部分应用引用来生成另一个引用。我相信这是可行的,有没有人有任何想法?之前有没有尝试过这样做?似乎找不到相关信息。此外,我对LISP不太熟悉--但这是否与我可以使用LISP宏实现的功能基本相似?
更新:在减少引用的同时,我希望评估可以在结果表达式树中评估的部分。
例如:
reduce true <@ fun b x y -> if b then x + y else x - y @>
应该得到 <@ fun x y -> x + y @>
。