
Hello, The word "combinator" is used several times in the Haskell community. e.g. parser combinator, combinator library etc. Is it exactly the same term that is used in the "combinatory logic" ? A combinator is a higher-order function that uses *only function application* and earlier defined combinators to define a result from its arguments. [1] It seems, the term combinator as in, say, "parser combinator", doesn't have much to do with the "*only function application*" requirement of the "combinatory logic", per se. If the above observation holds, is the term combinator as used in the Haskell community, properly defined? In other words: Where can I find a formal and precise definition of the term "combinator", as a term used by the Haskell community to describe "something"? Ref: http://en.wikipedia.org/wiki/Combinatory_logic Thanks and regards, -Damodar Kulkarni

On Fri, Aug 23, 2013 at 9:09 PM, damodar kulkarni
Hello, The word "combinator" is used several times in the Haskell community. e.g. parser combinator, combinator library etc.
Is it exactly the same term that is used in the "combinatory logic" ? A combinator is a higher-order function that uses *only function application* and earlier defined combinators to define a result from its arguments. [1]
It seems, the term combinator as in, say, "parser combinator", doesn't have much to do with the "*only function application*" requirement of the "combinatory logic", per se.
If the above observation holds, is the term combinator as used in the Haskell community, properly defined?
In other words:
Where can I find a formal and precise definition of the term "combinator", as a term used by the Haskell community to describe "something"?
Good question. I believe this article addresses the points you raise: http://www.haskell.org/haskellwiki/Combinator

Jason Dagit
writes:
Where can I find a formal and precise definition of the term "combinator",
A function that uses nothing but its arguments.
as a term used by the Haskell community to describe "something"?
I find that Haskellers often use combinator to mean "a function that makes new functions out of other functions", which it can often do as a pure combinator, but isn't always a combinator per se. -- John Wiegley FP Complete Haskell tools, training and consulting http://fpcomplete.com johnw on #haskell/irc.freenode.net

Thanks. I found the explanation given at the link quite useful in shedding
the confusion I had had.
Thanks and regards,
-Damodar Kulkarni
On Sat, Aug 24, 2013 at 10:57 AM, Jason Dagit
On Fri, Aug 23, 2013 at 9:09 PM, damodar kulkarni
wrote: Hello, The word "combinator" is used several times in the Haskell community. e.g. parser combinator, combinator library etc.
Is it exactly the same term that is used in the "combinatory logic" ? A combinator is a higher-order function that uses *only function application* and earlier defined combinators to define a result from its arguments. [1]
It seems, the term combinator as in, say, "parser combinator", doesn't have much to do with the "*only function application*" requirement of the "combinatory logic", per se.
If the above observation holds, is the term combinator as used in the Haskell community, properly defined?
In other words:
Where can I find a formal and precise definition of the term "combinator", as a term used by the Haskell community to describe "something"?
Good question. I believe this article addresses the points you raise: http://www.haskell.org/haskellwiki/Combinator

I've always stuck to the definition of a closed lambda term (the Y, U, S,
K, etc... combinators, for example). The colloquial usage generally implies
something like "a higher order function that does something interesting
(and possibly DSL-y)."
Kris
On Sat, Aug 24, 2013 at 12:09 AM, damodar kulkarni
Hello, The word "combinator" is used several times in the Haskell community. e.g. parser combinator, combinator library etc.
Is it exactly the same term that is used in the "combinatory logic" ? A combinator is a higher-order function that uses *only function application* and earlier defined combinators to define a result from its arguments. [1]
It seems, the term combinator as in, say, "parser combinator", doesn't have much to do with the "*only function application*" requirement of the "combinatory logic", per se.
If the above observation holds, is the term combinator as used in the Haskell community, properly defined?
In other words:
Where can I find a formal and precise definition of the term "combinator", as a term used by the Haskell community to describe "something"?
Ref: http://en.wikipedia.org/wiki/Combinatory_logic
Thanks and regards, -Damodar Kulkarni
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (4)
-
damodar kulkarni
-
Jason Dagit
-
John Wiegley
-
Kristopher Micinski