Paradigm: Concatenative
A concatenative programming language is one in which all terms denote functions and the juxtaposition of terms denotes function composition. 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.