機能的なプログラミング言語とは何かについては正確な定義はありませんが、機能的な言語はいくつかの重要な機能を強調する傾向があります。その中には：
 - ファーストクラスの関数：機能を通常の変数であるかのように保存および操作する機能。
 - 純粋な関数：「副作用」をいわゆる関数、または単に出力を返すだけではありません。
 - 宣言的性質：機能的言語は宣言的である傾向があります。つまり、プログラムが順序的な指示のリストである代わりに、プログラムは依存関係と定義のグラフではないことが多いことを意味します。
There is no exact definition for what a functional programming language is, but functional languages tend to emphasize a few key features. Among them are:
- First class functions: the ability to store and manipulate functions as if they were ordinary variables.
- Pure functions: functions which have so-called "side-effects," or consequences beyond simply returning an output.
- Declarative nature: functional languages tend to be declarative, meaning that instead of a program being a list of in-order instructions, a program is more often than not a graph of dependencies and definitions.