ML中是否有一个eval函数?ML有没有评估?
Q
ML有没有评估?
3
A
回答
1
ML实际上只是一种方言,但我所用过的没有ML实现(OCaml,F#)的eval据我所知。 ML使用严格的键入(这些类型在编译时已知),这是有道理的。 Eval将打破这一保证。
但是我发现OCaml中的eval的实现,显然使用代码从顶层:
0
这是可能有某种F#中的eval,而是要评估的代码有被引用。
#r"FSharp.PowerPack.dll"
#r"FSharp.PowerPack.Linq.dll"
(* load the PowerPack *)
open Microsoft.FSharp.Quotations
open Microsoft.FSharp.QuotationEvaluation
let x = <@@ 8*11 @@>
x.EvalUntyped() // = 88
更多代码语录:http://msdn.microsoft.com/en-us/library/dd233212.aspx
0
是的,至少SML/NJ和保利/ ML能做到这一点:代码在运行时被编译并添加到环境中。
对于保利/ ML这里有一个工作例如:ML REPL
聚/ ML可以做更多这样的,例如事在程序控制下管理ML环境。它还支持源代码级别的调试,并在断点处进行任意评估。
相关问题
- 1. 的Response.Redirect没有评估
- 2. 没有评估case语句
- 3. 数学没有评估#1
- 4. 在没有对象的情况下评估(评估itemText.style)
- 5. 评估没有评估的字符串:Python
- 6. Tensorflow评估:评估所有图像
- 7. ifstream.eof()在C++中没有评估为true
- 8. NVelocity宏参数没有评估
- 9. Rails3 UJS响应没有评估
- 10. UIWebView没有正确评估javascript
- 11. 如果陈述没有正确评估
- 12. 打印表达式没有评估它
- 13. PHP评估没有正确执行
- 14. Struts <s:if>标签没有评估
- 15. 代码没有正确评估峰值
- 16. io作业操作员没有评估?
- 17. Python的sympy评估时没有要求
- 18. 角JS表达式没有评估
- 19. 更改块绑定没有评估?
- 20. 变量没有在JavaScript中评估?
- 21. 的XPath评估()没有返回任何
- 22. hasClass()在setInterval中没有评估为true
- 23. Struts2如果标签没有评估
- 24. 如果环路中没有评估bash
- 25. 为什么预增量没有评估
- 26. SQL Server 2008 R2 Standard - 过期评估,但我没有安装评估
- 27. 有没有办法以编程方式评估一个宏?
- 28. 有没有任何库或可以评估PHP内的JavaScript?
- 29. 有没有三元操作评估为false的测试用例?
- 30. 有没有办法做到这一点,而无需评估?
我相信你想要的术语是“静态打字” – user102008 2012-01-25 05:06:09
是的,你是对的。 – 2012-02-07 21:34:35