Subject   :関数型言語(functional language)

カテゴリー  : パソコン > ソフト > プログラミング 


 関数型言語(functional language)
関数型言語とは、すべての計算や処理などを関数の定義の組み合わせとして記述していくタイプのプログラミング言語。

「同じ入力には必ず同じ出力を返す」「関数の評価が他の関数に影響を及ぼさない」など数学における関数と似た性質を持った関数の定義としてプログラミングを行い、プログラムの実行は記述された関数群の評価として行われる。このため、関数型言語からは破壊的代入(変数の書き換え)などの副作用を伴う機能が(ほとんどあるいは一切)排除され、自動的なメモリ管理、関数自身を引数に取ることができる高階関数、データ型の型推論、遅延評価などの機能が用意されている。

書き換え可能な変数など副作用のある機能も一部合わせ持っている言語を非純粋関数型言語と呼び、LISPやScheme、ML、OCaml、Scalaなど多くの言語がこれに含まれる。これに対し、副作用を一切排除した言語は純粋関数型言語は呼ばれ、Haskellが特に有名である。

● 


   ⇒ 

[メニューへ戻る]  [HOMEへ戻る]  [前のページに戻る]