Functional programming is a style of programming emphasizing evaluating expressions, rather than executing commands. Functional languages are those supporting and encouraging programming in a functional style, where expressions are formed by using functions to combine basic values. On this page, languages are arranged in three groups and levels: 1) Top group: issues spanning multiple unrelated languages. 2) Middle group: types or classes of languages. 3) Bottom group: specific languages, with their own directory category.