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. 红宝石评估没有评估?
- 2. 没有评估有时
- 3. 评估者在OCaml/ML
- 4. 数学没有评估#1
- 5. Python函数没有评估
- 6. 没有评估case语句
- 7. application.worksheetfunction.sum没有评估串
- 8. 的Response.Redirect没有评估
- 9. sprintf函数没有评估
- 10. phantomjs没有评估javascript表
- 11. 评估没有评估的字符串:Python
- 12. 在没有对象的情况下评估(评估itemText.style)
- 13. Tensorflow评估:评估所有图像
- 14. 如果环路中没有评估bash
- 15. Netezza TO_CHAR函数没有正确评估?
- 16. ifstream.eof()在C++中没有评估为true
- 17. 角JS表达式没有评估
- 18. 没有PEMDASM的表达评估器
- 19. 的XPath评估()没有返回任何
- 20. 变量没有在JavaScript中评估?
- 21. 如果陈述没有正确评估
- 22. 代码没有正确评估峰值
- 23. PHP评估没有正确执行
- 24. io作业操作员没有评估?
- 25. 评估NSArray上的NSPredicate(没有过滤)
- 26. jQuery没有评估通过$ .post
- 27. 打印表达式没有评估它
- 28. UIWebView没有正确评估javascript
- 29. Grails消息(),messages.properties参数没有评估
- 30. EL里面c:foreach没有评估
我相信你想要的术语是“静态打字” – user102008 2012-01-25 05:06:09
是的,你是对的。 – 2012-02-07 21:34:35