Concatenative programming language Information & Concatenative programming language Links at HealthHaven.com
advertise
add site
services
publishers
database
health videos
Bookmark and Share

search wiki for    ?
web dir firms image gallery news pdf wiki shop video 
about
toolbar
stats
live show
health store
more stuff
JOIN/LOGIN
Featured Results:
 Language and Auditory Processing Program (LAPP) - Speech-Language...
Language and Auditory Processing Program (LAPP) - Speech-Language...
childrenshospital.org
 

A concatenative programming language is one in which all terms denote functions and the juxtaposition of terms denotes function composition.[1] The combination of a compositional semantics with a syntax that mirrors such a semantics makes concatenative languages highly amenable to algebraic manipulation and formal analysis.[2]

Much of the original work on concatenative language theory was carried out by Manfred von Thun.

Contents

[edit] Properties

The properties of concatenative languages are the result of their compositional syntax and semantics:

  • Concatenative languages are necessarily point-free as allowing terms to denote variables would violate the rule that all terms denote functions.
  • The reduction of any expression is the simplification of one function to another function; it is never necessary to deal with the application of functions to objects.[3]
  • Any subexpression can be replaced with a name that represents the same subexpression. This is referred to in the concatenative community as factoring and is used extensively to simplify programs into smaller parts.
  • The syntax and semantics of concatenative languages form the algebraic structure of a monoid.[4]
  • Concatenative languages can be well-suited to a "linear logic" implementation, meaning that no garbage is ever generated.[5]

[edit] Implementations

The first concatenative programming language was Forth, although Joy was the first language to call itself concatenative. Other concatenative languages are Cat, Enchilada, Factor, Onyx, PostScript, RPL, Stappl, and XY.

Most existing concatenative languages are stack-based; this is not a requirement and other models have been proposed. Concatenative languages are currently used for embedded, desktop, and web programming, as target languages, and for research purposes. Most concatenative languages are dynamically typed, although Cat is statically typed and proposals for other typed languages have been made.[citation needed]

[edit] See also

[edit] References

[edit] External links




Product Results (view all...)

search wiki for    ?
web dir firms image gallery news pdf wiki shop video 



↑ top of page ↑about thumbshots