ピクシブ百科事典は2023年6月13日付でプライバシーポリシーを改定しました。改訂履歴

目次 [非表示]

概要

Haskellは純粋な関数型言語である。この言語は、C言語など他の言語にはない性質をもっている。

名前は論理学者のハスケル・カリー (Haskell B. Curry) にちなむ。

参照透過性

関数型言語では参照透過性(いつどこであっても同じ引数に対し同じ値を返す、数学の関数のような性質)を重視する。そのため、副作用(参照透過性を崩すような何か)を極力排除しようとする。しかし、デバイスに対する入出力も行えないのでは実用的でない。Haskell では「モナド」という概念を使って参照透過性を崩さず副作用を実現しているが、詳細は割愛する。

参照透過性を確保し、副作用を隔離することで、プログラムの見通しが良くなることが期待される。

遅延評価

関数型言語では変数の値が途中で変わらないため(例えば数学のテキストでは、a = 2 と置いた後、同じ文脈で途中から a = 3 と置き直したりはしない)、先に計算しようと、必要になってから計算しようと、得られる答えは同じである。この性質に着目し、実際に式の値が必要になってから計算を始めるのが遅延評価である。Haskell では、標準で遅延評価を行う。逆に、他のほとんどの言語のように関数呼び出しの際予め引数をすべて計算してしまう方法を先行評価と呼ぶ。


関連タグ

プログラミング言語

ScalaLISPOCaml …… 純粋ではないが、ほかの関数型言語

関連記事

親記事

プログラミング言語 ぷろぐらみんぐげんご

兄弟記事

pixivに投稿されたイラスト pixivでイラストを見る

pixivに投稿された小説 pixivで小説を見る

このタグがついたpixivの作品閲覧データ 総閲覧数: 4570

コメント

問題を報告

0/3000

編集可能な部分に問題がある場合について 記事本文などに問題がある場合、ご自身での調整をお願いいたします。
問題のある行動が繰り返される場合、対象ユーザーのプロフィールページ内の「問題を報告」からご連絡ください。

報告を送信しました