Разница между процедурой и комбинатором? - PullRequest
3 голосов
/ 17 сентября 2010

Я уже давно пользуюсь Scheme и Common Lisp, и есть одна вещь в номенклатуре, которую я никогда не получал: Я знаю, что комбинаторы - это процедуры без свободных переменных, но я редко вижу, чтобы их называли комбинаторами, за исключением тех, которые имеют дело со списками и другими последовательностями.

Правильно ли мое восприятие? Или есть какое-то другое определение «комбинации», которое мне не хватает?

1 Ответ

3 голосов
/ 17 сентября 2010

Если у вас есть какая-либо функция, которая работает со списками, то она больше не является настоящим комбинатором, поскольку ей нужно использовать функции списков. «Настоящий» комбинатор - это тот, который действительно не использует свободных идентификаторов, даже cons и т. Д. (Но иногда этот термин можно использовать более свободно).

...