関数名前空間とは? わかりやすく解説

関数名前空間

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/15 19:06 UTC 版)

Common Lisp」の記事における「関数名前空間」の解説

関数名のための名前空間は、データ変数のための名前空間とは分離されている。これは Common LispScheme における主要な違いである。defun、flet そして labels のようなオペレータは関数名前空間へ名前を定義する。 他の関数への引数として関数名を渡す場合には、function スペシャルオペレータ(通常 #' と略記される)を使う必要がある最初sort 引数では、関数名前空間にシンボル > で定義され関数名を #'> というコード参照している。 Scheme評価モデルはより単純で、単一名前空間のみが存在し引数部分だけでなくあらゆる位置で、評価順序を問わずフォーム評価される。この事が Common LispSchemeどちらか方言書かれコードは、ときどき他方経験を持つプログラマー混乱させることになる。たとえば、Common Lisp プログラマー多くlist あるいは string といった説明的な変数名使用する事を好むが、これらの名称は Scheme ではローカル関数名上書きしてしまうという問題起こすことになる。ただし、これには一長一短がある。名前空間別れているために、高階関数などに渡す関数の名前は、そのままではなく関数の名前であることを明示する必要が発生してしまっている。 関数独立した名前空間を持つ事が利点かどうかは、LISP コミュニティにおける論争の源となっている。この論争一般に「Lisp-1 vs. Lisp-2 の議論と言われる。この用語は リチャード・ガブリエル と ケント・ピットマン らによる二つの手法を広範囲わたって比較した 1988 年論文作られた。

※この「関数名前空間」の解説は、「Common Lisp」の解説の一部です。
「関数名前空間」を含む「Common Lisp」の記事については、「Common Lisp」の概要を参照ください。

ウィキペディア小見出し辞書の「関数名前空間」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「関数名前空間」の関連用語

関数名前空間のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



関数名前空間のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのCommon Lisp (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS