The difference between a procedure and a combinator?

I used Scheme and Common Lisp for a while, and there is one thing about nomenclature that I never got: I know that combinators are procedures without free variables, but I rarely see them called “combinators”, except for those which relate to lists and other sequences.

Is my perception correct? Or is there another definition of "combination" that I am missing?

+3
source share
1 answer

If you have a function that deals with lists, then it is no longer a real combinator, since it needs to use list functions. A “real” combinator is one that does not actually use any free identifiers, not even consetc. (But the term may someday be used more freely).

+3
source

Source: https://habr.com/ru/post/1765297/


All Articles