F#引用有什么作用吗?

5
我曾以为可以使用引号来实现我的目标(创建一个表达式树,我可以将其存储在数据库中并在以后执行)。但令我失望的是,引号不可序列化且无法编译(我想避免使用F# PowerPack,因为性能很差)。
所以我很好奇,F#引号真的有用吗?如果不能将表示代码的数据结构编译回代码,那么它有什么用处?我错过了什么?
相关: F#引号的另一个限制是什么? F#引号是什么?

3
在 F# 3.0 中,您不再需要引用 PowerPack 来编译引语。请参阅 MSDN 上的 LeafExpressionConverter.EvaluateQuotation - Daniel
2
核心库还包含一个将 Expr<'T> 转换为 Expression<T> 的函数。如果您愿意将其存储起来,我敢打赌您可以找到一个很好的 LINQ 表达式序列化库。 - Daniel
感谢提供MSDN文章的链接。我本来希望避免将其转换为LINQ表达式所需的开销,但我想我必须在这个问题上咬紧牙关了。 - Jacobs Data Solutions
1个回答

5

是的,它们对某些事情很有用。

维基百科说:

F# 引用被用于各种目的,包括将 F# 代码编译成 JavaScript 和 GPU 代码。

我已经尝试过它们,并创建了一个 F#-Code 到 ActionScript 编译器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接