翻訳と辞書
Words near each other
・ 第一級アミン
・ 第一級アルコール
・ 第一級アルコールからカルボン酸への酸化
・ 第一級オブジェクト
・ 第一級殺人
・ 第一級殺人弁護
・ 第一級海上特殊無線技士
・ 第一級炭素原子
・ 第一級鉄十字勲章
・ 第一級鉄十字章
第一級関数
・ 第一経済大学
・ 第一経済大学付属高等学校
・ 第一統領
・ 第一総軍
・ 第一線
・ 第一線映画聯盟
・ 第一線映画連盟
・ 第一義
・ 第一義的


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

第一級関数 : ミニ英和和英辞書
第一級関数[だいいっきゅうかんすう]
=====================================
〔語彙分解〕的な部分一致の検索結果は以下の通りです。

: [だい]
 (n,pref) ordinal
第一 : [だいいち]
  1. (adv,n) first 2. foremost 3. # 1 
: [いち]
  1. (num) one 
一級 : [いっきゅう]
  1. (adj-na,n) one grade 2. first-class 3. primary 
: [きゅう]
  1. (n,n-suf) class, grade, rank 2. school class, grade 
: [せき, ぜき]
 (suf) honorific added to names of makuuchi and juryo division sumo wrestlers
関数 : [かんすう]
 (n) function (e.g., math, programming, programing)
: [すう, かず]
  1. (n,n-suf) number 2. figure 

第一級関数 : ウィキペディア日本語版
第一級関数[だいいっきゅうかんすう]
計算機科学において、第一級関数(だいいっきゅうかんすう、、ファーストクラスファンクション)〔Programming language pragmatics , by Michael Lee Scott, section 11.2 "Functional Programming".〕とは、関数第一級オブジェクトとして扱うことのできるプログラミング言語の性質、またはそのような関数のことである。型のある言語では、関数型(かんすうがた、)という型の値となる。具体的にはプログラムの実行時に生成され、データ構造に含めることができ、他の関数の引数として渡したり、戻り値として返したりすることのできる関数をいう。この概念はメタプログラミングとは異なり、コンパイラ呼び出しやeval関数によって生成された関数は含まれない。無名関数も参照。
第一級関数は関数型言語には必要不可欠であり、高階関数のような形で日常的に用いられる。例として、関数とリストを引数に取り、リストの各要素に関数を適用した結果のリストを返すmap (mapcar) 関数が挙げられる。map関数をサポートするプログラミング言語は、何らかの形で関数を関数の引数として渡すことを許容しなければならない。
Schemeでの例:

(map func list0 list1 ... listN)

スタックベースのプログラミング言語では、高階関数の実装における自由変数の取り扱いに関して困難な問題が生じる。これはFunarg問題("function argument" の略称、)として知られている。
型理論では、型''A''の値を受け取り、型''B''の値を返す関数を''A'' → ''B''(もしくは''B''''A'')と書く。これは''P'' → ''Q''と似ているが実は同じもので、カリー・ハワード対応(カリー・ハワード同型対応、)によれば、関数型は論理包含に関係しており、ラムダ抽象自然演繹における仮説、関数の適用はモーダスポネンスに相当する。また多くのプログラミング言語の機能として、型理論は第一級関数が連想配列などのデータ構造をモデルするのにも用いられる。
圏論においては、第一級関数は閉圏に相当する。たとえば単純型付きラムダ計算()は、カルテシアン閉圏(デカルト閉圏)の言語に相当する。
== 利用 ==
HaskellLispML、Schemeのような関数型言語は第一級関数を全面的にサポートしている。他に第一級関数をサポートしているプログラミング言語としては、ECMAScript (ActionScriptJavaScript)、IoLuaNemerlePerlPHPPythonRubyScalaTcl/Tkなどが挙げられる。
CC++Pascalなどのプログラミング言語は関数ポインタをサポートしており、データ構造に含めたり他の関数に引数として渡したりすることができる。しかし、それらの関数は一般にリフレクションなしではプログラムの実行時に動的に生成することができないため、第一級関数をサポートしているとは見なされていない。
C++はoperator()を含むユーザ定義演算子をサポートしており、operator()を持つクラスは関数オブジェクトとして扱うことができる。関数オブジェクトはC++では他の第一級オブジェクトと同じように操作することができる。また、C++11では無名関数がサポートされている。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「第一級関数」の詳細全文を読む




スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.