什么是不带参数调用的函数?

时间:2011-04-27 15:01:33

标签: language-agnostic functional-programming closures nomenclature

是否有一个术语描述的函数比“不带参数的函数”更简洁地不带参数? (例如,“高阶函数”的意思是“将函数作为参数或返回函数的函数”)

我自然会想到“无效”,但当我看到“无效”时,我也会想到副作用。我正在考虑的情况是在constantly

的讨论中找到的那种情况

What is this functional "pattern" called?

你可以创建一个不带参数的闭包,没有副作用,但仍然做一些有趣的事情。

3 个答案:

答案 0 :(得分:19)

Nullary函数,通常为:http://en.wikipedia.org/wiki/Arity

一个函数是否有副作用与它有多少个参数是正交的,所以在一个没有函数的语言中,你不需要更具体的术语。在有副作用的语言中,我认为你称之为“无副作用”或“纯粹”的无效功能。

然后通过(例如)memoization,一个函数可以在逻辑上纯粹,即使你知道在幕后,它确实有副作用。

答案 1 :(得分:6)

nullary niladic 功能。

答案 2 :(得分:4)

A Thunk?