15

What exact role do higher-order combinators (or function producers) hold in concatenative and tacit programming?

Is there another way to implement a concatenative programming language rather than directly manipulating the stack?

How tight is the relation between the combinators mentioned and Schonfinkel's combinatory logic?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Bubba88
  • 1,910
  • 20
  • 44
  • 3
    This question was referenced in the blog post *[Why Concatenative Programming Matters](http://evincarofautumn.blogspot.dk/2012/02/why-concatenative-programming-matters.html)*. – Peter Mortensen Aug 26 '12 at 18:02

2 Answers2

10

Is there another way to implement a concatenative programming language rather than directly manipulating the stack?

Yes. The Enchilada language is based on term rewriting.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
  • 2
    +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 Oct 25 '10 at 10:12
  • 1
    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 :) –  Oct 25 '10 at 13:10
-5

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.

Community
  • 1
  • 1
Norman Ramsey
  • 198,648
  • 61
  • 360
  • 533
  • Thanks, I've read the post mentioned and will surely investigate in the topics you denoted – Bubba88 May 08 '10 at 20:47
  • 8
    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 May 19 '10 at 10:50
  • 10
    A response to this answer can be found here: http://evincarofautumn.blogspot.com/2012/02/why-concatenative-programming-matters.html Why Concatenative Programming Matters – Jeroen K Feb 13 '12 at 12:17
  • 3
    I hate seeing this as the accepted answer. It's wrong. Being concatenative is having the property that _you can chop a part of it and it's a valid program, and join programs and get another program_. So simple it doesn't need much explaining, really. There are other things to concatenative programming languages, but that's the defining feature. It also fails at answering any of OP's questions. – fede s. Aug 08 '16 at 20:57