出典: Haskell 『フリー百科事典 ウィキペディア日本語版(Wikipedia)』 最終更新 2024年7月21日 (日) 13:55 UTC、URL: https://ja.wikipedia.org/ Haskell(ハスケル)は非正格な評価を特徴とする純粋関数型プログラミング言語である。名称は数学者であり論理学者であるハスケル・カリーに由来する。 [概要] Haskell は高階関数や静的多相型付け、定義可能な演算子、例外処理といった多くの言語で採用されている現代的な機能に加え、パターンマッチングやカリー化、リスト内包表記、ガードといった多くの特徴的な機能を持っている。また、遅延評価や再帰的な関数や代数的データ型もサポートしているほか、独自の概念として圏論のアイデアを利用し参照透過性を壊すことなく副作用のある操作(例えば 代入、入出力、配列など)を実現するモナドを含む。このような機能の組み合わせにより、手続き型プログラミング言語では記述が複雑になるような処理がしばしば簡潔になるばかりではなく、必要に応じて手続き型プログラミングを利用できる。 ・・・ |
出典: 関数型プログラミング 『フリー百科事典 ウィキペディア日本語版(Wikipedia)』 最終更新 2021年5月1日 (土) 14:41 UTC、URL: https://ja.wikipedia.org/ 関数型プログラミング(かんすうがたプログラミング、英: functional programming)とは、数学的な意味での関数を主に使うプログラミングのスタイルである。 functional programming は、関数プログラミング(かんすうプログラミング)などと訳されることもある。関数型プログラミング言語(英: functional programming language)とは、関数型プログラミングを推奨しているプログラミング言語である。略して関数型言語(英: functional language)ともいう。 [概要] 関数型プログラミングは、関数を主軸にしたプログラミングを行うスタイルである。ここでの関数は、数学的なものを指し、引数の値が定まれば結果も定まるという参照透過性を持つものである。 ・・・ 手続き型プログラミングとの比較 C 言語や Java や JavaScript や Python や Ruby などの 2017 年現在に使われている言語の多くは、手続き型の文法を持っている。そのような言語では、文法として式 (expression) と文 (statement) を持つ。ここでの式は、計算を実行して結果を得るような処理を記述するための文法要素であり、加減乗除や関数呼び出しなどから構成されている。ここでの文は、何らかの動作を行うようにコンピュータへ指示するための文法要素であり、条件分岐の if 文やループの for 文と while 文などから構成されている。手続き型の文法では、式で必要な計算を進め、その結果を元にして文でコンピュータ命令を行うという形で、プログラムを記述する。このように、手続き型言語で重要なのは文である。 それに対して、関数型言語で重要なのは式である。関数型言語のプログラムはたくさんの式で構成され、プログラムそのものも一つの式である。たとえば、 Haskell では、プログラムの処理の記述において文は使われず、外部の定義を取り込む import 宣言も処理の一部として扱えない。関数型言語におけるプログラムの実行とは、プログラムを表す式の計算を進めて、その結果として値 (value) を得ることである。式を計算することを、評価する (evaluate) という。 ・・・ |
同義語・類義語 | 関連語・その他 |
---|---|
functional language | Erlang |
functional programming language | アーラン |
fʌ́ŋkʃənəl prə́ugræmiŋ lǽŋgwidʒ | ・ |
ファンクシュナォルゥ プロウグラェミング ラゥェングウィッジ | Haskell |
ファンクシュナォルゥ・プロウグラェミング・ラゥェングウィッジ | ハスケル |
ファ́ンクシュナォルゥ・プロ́グラェミング・ラゥェ́ングウィッジ | ・ |
ファンクショナル プログラミング ラングウィッジ | Lazy K |
ファンクショナル・プログラミング・ラングウィッジ | レイジー ケー |
ファ́ンクショナル・プロ́グラミング・ラ́ンゲージ | ・ |
関数型言語 | LISP 1.5 |
かんすうがた げんご | リスプ 1.5 |
関数型プログラミング言語 | ・ |
純粋関数型プログラミング言語 | Scheme |
純粋関数型言語 | スキーム |
非純粋関数型プログラミング言語 | ・ |
非純粋関数型言語 | Common Lisp |
・ | コモン・リスプ |
関数型プログラミング | ・ |
かんすうがた プログラミング | ML |
functional programming | エムエル |
fʌ́ŋkʃənəl prə́ugræmiŋ | Meta-Language |
ファンクシュナゥルゥ プロウグラェミング | ・ |
ファンクシュナゥルゥ・プロウグラェミング | SML |
ファ́ンクシュナォルゥ・プロ́グラェミング | Standard ML |
ファンクショナル プログラミング | ・ |
ファンクショナル・プログラミング | Scala |
ファ́ンクショナル・プロ́グラミング | SKAH-lah |
関数プログラミング | スカラ |
かんすう プログラミング | ・ |
・ | Unlambda |
アンラムダ | |
【 以下関連語 】 | ・ |
Gerald Jay Sussman | F# |
Gerald Jay Sussman氏 | Idris |
Guy Lewis Steele Jr. | Clojure |
Guy Lewis Steele Jr.氏 | Miranda |
・ | OCaml |
Clean | Lean |
クリーン | |
・ | |
更新日:2024年11月 3日 |