没有参数的函数声明

Ali*_*ent 1 sml

如何在签名中声明一个不带参数的函数?

我只看到带有这样的参数的函数签名:leq:item*item->bool 我希望为这样的函数创建一个签名:

initBTree = E   (* where empty is of type tree *)
Run Code Online (Sandbox Code Playgroud)

这不起作用: val initBTree:->tree

Tay*_*can 6

你可以创建一个以unit为参数的函数,如下所示:

fun initBTree () = E
Run Code Online (Sandbox Code Playgroud)

并称之为:

initBTree ()
Run Code Online (Sandbox Code Playgroud)

它有类型

fn : unit -> tree
Run Code Online (Sandbox Code Playgroud)

如果E有类型tree.

不过,这有点毫无意义.您可能只是说E,或者如果您真的希望它被称为initBTree:

val initBTree = E
Run Code Online (Sandbox Code Playgroud)