Common Lispとは? わかりやすく解説

Common Lisp

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/04 23:17 UTC 版)

Common Lisp(コモン・リスプ)は、コンピュータ・プログラミング言語 Lispの標準(の、ひとつ)であり、Lisp方言のひとつでもある。Common Lispの略称はCL[注釈 1]。規格はANSIによる ANSI INCITS 226-1994 (S2018)。仕様を指すこともあれば、実装を指すこともある。いくつかの、フリーソフトウェアの定義に合致したライセンスによりライセンスされている実装や、オープンソースの定義に合致したライセンスによりライセンスされている実装や、プロプライエタリなライセンスによりライセンスされている実装がある。


  1. ^ ごくまれにclispとも。なおCLISPという実装が実在するので混同回避のためあまり用いられない
  2. ^ 一方で型nullは、オブジェクトNILを表す型である。
  3. ^ このようなtypespecは、配列の型arrayvalid type specifierである。
  4. ^ : value cell
  5. ^ : function cell
  6. ^ : cons
  7. ^ : cons cell
  8. ^ : pair
  9. ^ : export
  10. ^ : instance
  11. ^ : declaration
  12. ^ : docstring
  13. ^ : condition
  14. ^ : class
  15. ^ : metaclass
  16. ^ : binding
  17. ^ 彼は ジェラルド・J・サスマンとともに Scheme を設計した。
  18. ^ nil はまた、空リストをも表現する。
  19. ^ 最近、インタプリタのサポートも試験的に実装されている。
  1. ^ CLHS: Type ATOM
  2. ^ CLiki : Unicode support
  3. ^ Technical Issues of Separation in Function Cells and Value Cells
  4. ^ 3.1 Evaluation
  5. ^ 32.6. Quickstarting delivery with CLISP
  6. ^ History and Copyright - Steel Bank Common Lisp
  7. ^ Clozure CL History
  8. ^ http://trac.clozure.com/openmcl
  9. ^ http://armedbear.org/abcl.html
  10. ^ http://www.gnu.org/software/gcl/
  11. ^ http://www.digitool.com/
  12. ^ http://jatha.sourceforge.net/
  13. ^ http://www.cormanlisp.com/
  14. ^ https://github.com/sharplispers/cormanlisp
  15. ^ http://www.franz.com/
  16. ^ http://www.lispworks.com/
  17. ^ http://www.scieneer.com/
  18. ^ http://www.stsci.edu/resources/software_hardware/spike/
  19. ^ http://ic.arc.nasa.gov/projects/remote-agent/
  20. ^ 「2003 年 1 月、ヤフーは新しいバージョンの、C++ と Perl で書かれたエディタ(訳注: Viawebのシステムのうち、Lispで書かれていた、サイトを構築するシステムの部分)をリリースした。それは『もはやプログラムは Lisp で書かれていない』というよりも『プログラムを C++ に変換するために Lisp インタプリタを書いた』というようなものであった。私の知る限り、すべてのページ生成テンプレートのソースファイルは依然として Lisp コードのままだった(「グリーンスパンの第10法則」を見よ)。」、ポール・グレアムBeating the Averages
  21. ^ http://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/
  22. ^ ページ下部,開発者のコメント http://dwave.wordpress.com/2011/05/20/learning-to-program-the-d-wave-one-software-you-should-install-a-book-you-should-buy/
  23. ^ http://www.dwavesys.com/careers/senior-software-developer
  24. ^ http://www.itasoftware.com/about/index.html
  25. ^ http://www.izware.com/
  26. ^ http://www.izware.com/mirai/
  27. ^ http://www.piano.aero/
  28. ^ http://www.xanalys.com/
  29. ^ http://www.genworks.com/
  30. ^ http://www.noteheads.com/
  31. ^ http://compo.sourceforge.net/
  32. ^ http://lisa.sourceforge.net/



Common Lisp

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/03/08 10:57 UTC 版)

多重ディスパッチ」の記事における「Common Lisp」の解説

Common Lispのように多重ディスパッチをする言語では、コード次のうになる。 (defmethod collide-with ((x asteroid) (y asteroid)) ;; 小惑星小惑星衝突する場合を処理 ...) (defmethod collide-with ((x asteroid) (y spaceship)) ;; 小惑星宇宙船衝突する場合を処理 ...) (defmethod collide-with ((x spaceship) (y asteroid)) ;; 宇宙船小惑星衝突する場合を処理 ...) (defmethod collide-with ((x spaceship) (y spaceship)) ;; 宇宙船宇宙船衝突する場合を処理 ...) このように引数データ型調べコードを、引数部分に完全に組み込むことができている。 多重ディスパッチがあると、クラスがあって、そこにメソッド属しているという考え方はあまり意味を持たない。collide-with という名前のメソッドは、引数ごとにそれぞれ2つクラス関連付けられている「普通の関数呼び出し」に過ぎなくなる。結果としてメソッド呼び出す際の特殊な構文を必要としない

※この「Common Lisp」の解説は、「多重ディスパッチ」の解説の一部です。
「Common Lisp」を含む「多重ディスパッチ」の記事については、「多重ディスパッチ」の概要を参照ください。


Common Lisp

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/26 23:59 UTC 版)

クロージャ」の記事における「Common Lisp」の解説

Common Lispでは、変数束縛確立するlet脱出点を確立するblockGo Toタグ(ラベル)を確立するtagbodyの三つの要素基盤とし、これらの三つ組み合わせによって基本的な構文体系構築されているが、それぞれの構文確立され要素は、スコープエクステント(存続期間)という概念によって整理されている。 これら、三つ構文の、変数名ブロック名ラベル名は、レキシカルスコープであり、クロージャ閉じ込めることができるが、変数束縛以外は、スコープ外(エクステント外)からアクセスすることはできない。Common Lispでは、これをレキシカルスコープかつ動的エクステント表現する(変数レキシカルスコープかつ無限エクステント) blockにより確立され脱出点からは、return-fromによって抜け出すまた、tagbodyによって確立されタグは、goにより参照される。 (let ((m 3)) (defun a (x) ;; 関数定義暗黙block名として関数名設定する (* 3 (block b (* 100 (funcall (lambda (y) (block nil (tagbody (cond ((= 0 (mod y m)) (return-from a y)) ;mの倍数にはaから値をそのまま返す(m=3) ((oddp y) (return-from b (* 2 y))) ;奇数には二倍してbから脱出 (T (go exit))) ;どちらでもなければexitgo toする ;;return-from nil略記としてreturn利用可能 exit (return y)))) ;lambda直下block nilから脱出 x))))))(a 1);--> 6(a 2);--> 600(let ((m 6)) ;;aの内部参照するmは定義時のm (a 3));--> 3

※この「Common Lisp」の解説は、「クロージャ」の解説の一部です。
「Common Lisp」を含む「クロージャ」の記事については、「クロージャ」の概要を参照ください。


Common Lisp

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/20 18:08 UTC 版)

列挙型」の記事における「Common Lisp」の解説

Common Lispは、型指定member用いる。例えば、 (deftype cardsuit () '(member club diamond heart spade)) ここで定義された cardsuit型 は、シンボルclubdiamondheartspade集合となる。 (typep 'club 'cardsuit) ;clubは、cardsuit型か?;=> T ;true また、上記の型定義で利用した deftype は、表記拡張することにも用いる。 (deftype finite-element-set-type (&rest elements) `(member ,@elements)) は、型指定member に finite-element-set-type という新しい名前を付ける。これを用いて、 (deftype cardsuit () '(finite-element-set-type club diamond heart spade)) として、前述のcardsuitと同じものを定義することに利用できる表記似ていて紛らわしmember関数との混同避けることに使えるだろう。なお、CLOS引数特定子には、型指定member相当するものはないため、メソッドの定義 (defmethod) で同様のことを実現する場合は、メンバー個々eql特定子を用いて定義する必要があるだろう。

※この「Common Lisp」の解説は、「列挙型」の解説の一部です。
「Common Lisp」を含む「列挙型」の記事については、「列挙型」の概要を参照ください。

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

「Common Lisp」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


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

辞書ショートカット

すべての辞書の索引

「Common Lisp」の関連用語

Common Lispのお隣キーワード
検索ランキング

   

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



Common Lispのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのCommon Lisp (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの多重ディスパッチ (改訂履歴)、クロージャ (改訂履歴)、列挙型 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS