ProgramHaskellHaskell入門 > 第1章 はじめてのHaskell

2022-01-18 (火) 公開

#html{{

div class="alert alert-info">学習メモ</div>

table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4774192376/vertex9-22/" target="_blank"><img src="https://m.media-amazon.com/images/I/41xoNsYARcL._SL160_.jpg" border="0"></a></td><td> </td><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4774192376/vertex9-22/" target="_blank">Haskell入門 関数型プログラミング言語の基礎と実践</a><br>本間 雅洋<br>技術評論社<br>2017-09-27<br>¥3608</td></tr></table>
}}

1.1.1 関数型プログラミング言語

「関数」(function)について、今一度よく考えてみると、関数型プログラミングの特徴と利点が分かってきます。

関数型プログラミングの定義

参照透過性

関数に与えた引数が同じなら、必ず結果の値も同じになることを「参照透過性」という。

(参考)参照透過性 - Wikipedia https://w.wiki/4hfs

f(x)=x+1

という関数があった場合、引数xに1を与えたら、結果の値f(1)は必ず2になります。
100回計算しても、100回中100回ともf(1)の値は2になります。
f(1)が2になることが保証されており、2以外の値にはならないことを「参照透過性」がある、という言い方をします。
これがもし計算するたびに結果が違って、あるときはf(1)が10になったり、また別のあるときはf(1)が100になったりしたら、関数fには参照透過性がない、ということになります。
「数学的な関数」とは、参照透過性がある関数のことです。

式(expression)

式とは、数学的な関数を組み合わせて作ったものです。
関数型プログラミングでは、この数学的な関数を組み合わせて作った「式」を中心にして、計算(処理)の内容を記述していきます。

評価(evaluation)

関数に引数を与えて、関数の値を得ることを「評価」という言い方をします。

f(x)=x+1

という関数があった場合、引数xに1を与えて、f(1)を評価すると、x+1は1+1になるので2という値が得られます。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS