views:

99

answers:

2

Hi! I have a question about what exact role do higher-order combinators (or function producers) hold in concatenative/tacit programming.

Additionally I would like to ask if there is another way to implement concatenative programming language rather than directly manipulating the stack.

This might look like a newbie question, so if you feel like it, you can freely direct me to external source.

UPDATE: Additionally, I want to know how tight is the relation between the combinators mentioned and Schonfinkel's Combinatory Logic. Thank you :)

+2  A: 

In my answer to "Explain Concatenative languages to me like I’m an 8 year old" I argued that it is not useful to use the word "concatenative" to describe programming languages. This area appears to be a private playground for Manfred von Thun. There is no real definition of what constitutes a concatenative language, and there is no mature theory underlying the idea of a concatenative language. Because the concept is not really defined, it is impossible to provide a definitive explanation of the role of combinators.

You might prefer to spend your time studying more well-established topics such as combinatory logic, SK combinators, lambda calculus, and graph-reduction machines. If you are interested in point-free programming from a more pragmatic perspective, APL, Forth, and PostScript are all well worth studying.

Norman Ramsey
Thanks, I've read the post mentioned and will surely investigate in the topics you denoted
Bubba88
I think that you go too far when you say *it is not useful to use the word "concatenative" to describe programming languages* - it is rather an unclear but useful concept, one that becomes incoherent when you push it too far, an instance of the family-resemblance concepts like "game" that Wittgenstein criticised. And if they are a playground for Manfred von Thun, they are not private: I found Christopher Diggins' work on Cat interesting.
Charles Stewart
+1  A: 

Additionally I would like to ask if there is another way to implement concatenative programming language rather than directly manipulating the stack.

Yes. The Enchilada language is based on term rewriting.

Dan
+1, although their definition "Concatenative: the syntactic concatenation of postfix expressions, yields valid expressions" is just the sort of offbeat idea that Norman complains about in his answer.
Charles Stewart
Yeah, I think everyone involved in "concatenative" languages kind of makes up the definition for themselves. The geenral "feel" of the languages are the same though, so I won't worry about it :)
Dan