「関数型言語」の版間の差分

冒頭文を記述してみました
(冒頭文を記述してみました)
{{独自研究|date=2014年4月}}
{{プログラミング言語|index=かんすうかたけんこ}}
'''関数型言語プログラミング'''(かんすうがたげんごプログラミング、{{lang-en-short|''functional languageprogramming''}})は、以下に述べる'''関数型[[プログラミング'''を基本スタパラダルとして推奨する機能を持ム]]の一であり、[[プログラミング言語ソフトウェア工学]]、関数型における主にプログラミング言語<ref>{{lang-en-short|functional programming language}}</ref>ムリスト形成とコード記述略称知識体系で用いられる考え方である。[[数理論理学]]の[[ラムダ計算]]を元にして発案されたと言われる。
 
プログラムデータの構成要素である値(''value'')を限りなく抽象化して、入力と出力の同時表現体すると共にその変換式も併せ持たせており、これがターム的に'''関数'''(''function'')と定義されている。関数は同時に入力の引数と出力の関数参照にもなるので演算の連鎖が可能であり、この仕組みの能動側は'''[[高階関数]]'''(''high-order'')、受動側は'''[[第一級関数]]'''(''first-class'')と呼ばれている。変換式はプログラムデータに一切の影響を与えず、また一切の影響を受けない事が保証されており、この原則は'''[[参照透過性]]'''(''referential transparency'')と定義され、仕組み的には'''純粋関数'''(''pure'')と呼ばれている。値は関数の他に'''[[構造体]]'''(''data structure'')としても抽象化される。これも関数の引数または返値となる。
 
プログラムは値の宣言(''declaration'')とそれらを演算子で繋いだ式(''expression'')の連続で構成され、これが順次処理となる。値は数値、構造体、関数、関数連鎖に随時抽象化される。分岐処理は一般に、条件式を引数にしてthen式またはelse式のどちらかを引数にする関数参照を返す[[無名関数]]の形態で行なわれる。反復処理は関数の'''[[再帰]]'''(''recursion'')として行なわれる。再帰はその関数内の評価(''eval'')が変わらなくなるまで繰り返される。これらの特徴を持ったものが関数型プログラミングと見なされる。
 
== 関数型プログラミング ==
1,463

回編集