Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between a procedure and a combinator?

I've been using Scheme and Common Lisp for a while and there is one thing about nomenclature that I never got: I know that combinators are procedures with no free variables, but I seldom see them being called "combinators", except for those that deal with lists and other sequences.

Is my perception correct? Or is there some other definition of "combination" that I'm missing?

like image 756
josh Avatar asked Jul 02 '26 04:07

josh


1 Answers

If you have any function that deals with lists, then it's no longer a real combinator, since it needs to use list functions. A "real" combinator is one that really uses no free identifiers, not even cons etc. (But the term can sometime be used more loosely.)

like image 64
Eli Barzilay Avatar answered Jul 04 '26 02:07

Eli Barzilay