当人们谈论F#时,他们有时会提到术语top-level
;在F#中顶级的意思是什么?
top-level
是什么意思?
例如在以前的SO Q &一个
Error FS0037 sometimes, very confusing
Defining Modules VS.NET vs F# Interactive
What the difference between a namespace and a module in F#?
AutoOpen attribute in F#
F# and MEF: Exporting Functions How to execute this F# function
这个词也经常出现在评论,但对于那些Q & AI没refe依靠他们。
维基百科有关scope的文章涉及到这一点,但没有具体的F#。
的F#3.x的规范只规定:
11.2.1.1元数为一致性功能和价值
括号中指明
top-level
功能,这可能是一个 一流的计算表达式计算出函数值 ,而不是编译时函数值。
13.1定义属性
例如,STAThread属性应立即放置 前
top-level
“做”的语句。对于类型变量
14.1.8名称解析
它为任何构件或任何其他构造
top-level
包含表达式和类型最初是空的。
我怀疑这个词在不同的语境中有不同的含义: Scope,F#interactive,shadowing。
如果您还可以解释F#前驱语言(ML,CAML,OCaml)的起源,我们将不胜感激。
最后,我不打算标记答案为接受几天,以避免草率的答案。
有关OCaml的兴趣:[顶层系统](http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual023.html) –
感兴趣的内容:[模块与类型的行为差异使用F#lambda作为实际参数的形式参数,期望系统.FUNC](http://stackoverflow.com/q/31712588/1243762) –