Paradigm: Stack-oriented

Stack-oriented programming uses stack model for passing parameters.

A stack-oriented language operates with one or several single-purpose stacks and usually employs prefix or postfix notation instead of infix notation common to usual languages. Two main operations which can be applied to data in the stack are pop (remove the topmost element and return it) and push (put the element on the top of the stack).

Sometimes stack-oriented languages provide more complex operations, like dup (copy the topmost element and put the copy on the top), swap (swap two topmost elements), roll (cyclically permute elements in the given part of the stack) and drop (remove the topmost element without returning it).

Programming languages that support this paradigm: