IT資格用語解説基本情報技術者試験・プログラム言語論
関数型言語
更新日:
用語解説
関数型言語は、関数の定義と適用を計算の中心に置き、値の変更や外部状態への副作用を抑えてプログラムを構成する言語又はプログラミング様式です。
■ 試験で押さえるポイント
純粋関数は同じ入力へ常に同じ出力を返し外部状態を変えないため、参照透過性があり式を結果値へ置換して推論できます。
データを原則不変として扱い、再帰、高階関数、関数合成、map・filter・reduce等で処理を記述します。
遅延評価を採用する言語もありますが、関数型の必須条件ではありません。I/O等の副作用を型や専用構造で分離する方式もあります。
並行実行とテストを容易にし得ますが、実装言語は関数型機能と命令型・オブジェクト指向機能を組み合わせる場合があります。
■ 選択肢での判断ポイント
関数適用、不変データ、参照透過性、高階関数を対応付けます。単に関数を定義できるだけで関数型とは限りません。
例: 元配列を書き換えず、filterで偶数だけを選び、mapで二乗した新しい配列を返す処理は関数型の構成例です。