Talk:Concatenative programming language

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computer science (Rated Start-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
 
WikiProject Computing (Rated Start-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
 

This doesn't appear to be a term with significant usage outside of wikipedia, and also is very poorly defined here. Should this be deleted?

  • Manfred von Thun keeps referring as "concatenative" to those languages that he includes in a class with Joy. There is also a discussion group dealing with Joy and related topics. To browse previous messages, or to join the group, see yahoo group: concatenative These messages can be read without joining the group. There have been 1116 contributions in the first two years, 1-MAY-2000 to 1-MAY-2002. Perhaps there is a better (i.e., more standard way of referring to this class of languages? If you do know of one, it would probably make sense to change the name. — danakil 01:12, Aug 26, 2004 (UTC)
  • Charles Moore didn't invent the name, but sure invented the concept. However, the only name he ever gave it was Forth. Although a long term Forth user (over 30 years), I have no problem with finally having a name for a class of programming languages that was previously unnamed. Mdfischer 23:06, 27 April 2007 (UTC)

Contradicting information[edit]

The article says "or stack-based", but the category lists languages that aren's stack-based. I see some contradiction in this. --Stesch 13:10, 21 October 2007 (UTC)

Replacement[edit]

The article here has many issues. The issues were discussed on the concatenative mailing list. The full discussion is available here:

   http://www.nabble.com/the-concatenative-wikipedia-article-td21227513.html

The result of this discussion is a new article that better addresses the topic. It can be viewed here:

   http://en.wikipedia.org/wiki/User:John_Nowak/Sandbox/Concatenative

Assuming there are no issues, I'll go ahead and switch the article to the new version.

Incomprehensible[edit]

I'm university level CompSci engineer, but don't understand this article because the terms are not back-referenced. For example "terms" is meaningless without either back-referencing the term "term" to one other programming or mathematical paradigm, such as logic programming or imperative. The article just seems to mumble its mind without any listeners. I think it is not understandable to anyone except anyone that already knows all about the topic. The terms must be better founded into a context. Rursus dixit. (mbork3!) 15:50, 7 July 2011 (UTC)

I've attempted to clarify things somewhat by explaining concatenative languages as the subset of point-free languages in which concatenation of expressions (which should be clearer than "terms") denotes function composition. If you do not think this improves things sufficiently, please reinstate the technical notice. John Nowak (talk) 03:10, 28 October 2011 (UTC)

Function-level programming[edit]

How does concatenative programming compare to Backus-style function-level programming? They both emphasize the point-free style, so what is the difference? —Ruud 15:08, 19 February 2012 (UTC)

AFAIK:
point-free \ concatenative=point-free with order of operations (eg Haskell)
concatenative \ point-free=concatenative with λ-abstraction (eg Enchilada,XY)
function-level \ concatenative=function-level with order of operations(eg FP,FL,FPr,J)
concatenative \ function-level=concatenative, not point-free (eg Enchilada,XY) or without higher-order functions (eg Forth)
concatenative point-free=stack-oriented (eg Forth,Cat,Joy)
point-free functional=function-level
concatenative function-level=stack-oriented with higher-order functions (eg Cat,Joy)
If this is right, the article (after expliciting the relationship) should be cleaned to not hold examples of stack-oriented languages. -189.26.152.54 (talk) 14:17, 7 October 2012 (UTC)