declarative programming
programming paradigm that expresses the logic of a computation without describing its control flow
logic programming
programming paradigm based on formal logic
constraint programming
programming paradigm wherein relations between variables are stated in the form of constraints
functional programming
programming paradigm based on applying and composing functions
dataflow programming
programming paradigm that models program as a directed graph of data flow between operations
purely functional programming
programming paradigm that treats all computation as the evaluation of mathematical functions