A '''concatenative programming language''' is a [[Point-free programming|point-free]] programming language in which all expressions denote [[Function (mathematics)|functions]] and the [[juxtaposition (mathematics)|juxtaposition]]{{dn|date=May 2013}} of expressions denotes [[function composition]].<ref name="dobbscodetalk">{{cite web|url=http://drdobbs.com/blogs/architecture-and-design/228701299 |title=Christopher Diggins: What is a concatenative language |publisher=Drdobbs.com |date=2008-12-31 |accessdate=2013-07-01}}</ref> The combination of a compositional [[Semantics of programming languages|semantics]] with a [[Syntax of programming languages|syntax]] that mirrors such a semantics makes concatenative languages highly amenable to algebraic manipulation.<ref>[http://www.latrobe.edu.au/philosophy/phimvt/joy/j00rat.html Rationale for Joy, a functional language]{{dead link|date=July 2013}}</ref>
Much of the original work on concatenative language theory was carried out by [[Manfred von Thun]].