手続き型言語ではコンピュータへの指示を文として上から順に並べて書くのに対して、関数型言語では数多く定義した細かい式を組み合わせてプログラムを作る。手続き型言語では文が重要であり、関数型言語では式が重要である。
式と文の違いとして、型が付いているかどうかというのがある。式は型を持つが、文は型を持たない。プログラム全てが式から構成されていて、強い静的型付けがされているのならば、プログラムの全体が細部まで型付けされることになる。このように細部まで型付けされているようなプログラムは堅固なものになる。
歴史.
（ハスケル）は非正格な評価を特徴とする純粋関数型プログラミング言語である。名称は数学者であり論理学者であるハスケル・カリーに由来する。
概要.
 は高階関数や静的多相型付け、定義可能な演算子、例外処理といった多くの言語で採用されている現代的な機能に加え、パターンマッチングやカリー化、リスト内包表記、ガードといった多くの特徴的な機能を持っている。また、遅延評価や再帰的な関数や代数的データ型もサポートしているほか、独自の概念として圏論のアイデアを利用し参照透過性を壊すことなく副作用のある操作（例えば 代入、入出力、配列など）を実現するモナドを含む。このような機能の組み合わせにより、手続き型プログラミング言語では記述が複雑になるような処理がしばしば簡潔になるばかりではなく、必要に応じて手続き型プログラミングを利用できる。
 は関数型プログラミングの研究対象として人気が高い。あわせて と呼ばれるマサチューセッツ工科大学やグラスゴー大学によるものをはじめ、他にも や といった分散バージョン、 と呼ばれる投機的実行バージョン、 や 、 といったオブジェクト指向バージョンも複数存在しているなど、いくつもの派生形が開発されてきている。
GUI開発向けサポートの新しい方法を提供する、 と呼ばれる に似た言語もある。 と の最大の違いは、モナドを代用する一意型の採用である。
 は 用のビルドおよびパッケージングシステムである。 を利用して ライブラリのアーカイブである を参照して、新たなパッケージを簡単にインストールすることもできる。しばしばパッケージのが発生しがちだが、それらを解決するため、という環境も有志によって提供されている。
歴史.
主な構文.