Common Lisp
ウィキペディア フリーな encyclopedia
Common Lisp(コモン・リスプ)は、コンピュータ・プログラミング言語 Lispの標準(の、ひとつ)であり、Lisp方言のひとつでもある。Common Lispの略称はCL[注釈 1]。規格はANSIによる ANSI INCITS 226-1994 (S2018)。仕様を指すこともあれば、実装を指すこともある。いくつかの、フリーソフトウェアの定義に合致したライセンスによりライセンスされている実装や、オープンソースの定義に合致したライセンスによりライセンスされている実装や、プロプライエタリなライセンスによりライセンスされている実装がある。
概要 パラダイム, 登場時期 ...
パラダイム | マルチパラダイムプログラミング、オブジェクト指向プログラミング、手続き型プログラミング、関数型プログラミング、メタプログラミング、リフレクション、ジェネリックプログラミング |
---|---|
登場時期 |
|
開発者 | ANSI X3J13委員会 |
型付け | 強い動的型付け |
主な処理系 | Allegro Common Lisp、ABCL、CLISP、Clozure Common Lisp、CMU Common Lisp、Corman Lisp、Embeddable Common Lisp、GNU Common Lisp、LispWorks、Movitz、Scieneer Common Lisp、Steel Bank Common Lisp、Symbolics Common Lisp |
方言 | CLtL1、CLtL2、ANSI Common Lisp |
影響を受けた言語 | LISP、Lisp Machine Lisp、Maclisp、Scheme、Interlisp |
影響を与えた言語 | Clojure、Dylan、Eulisp、ISLISP、SKILL、newLISP、PicoLisp、Stella、SubL |
プラットフォーム | クロスプラットフォーム |
ウェブサイト |
common-lisp |
関連言語 | LISP |
テンプレートを表示 |
閉じる
Lispの基本的な特徴の他、いくつかのプログラミングパラダイムのLispへの取り込みについて標準を提供しているという、マルチパラダイムプログラミング言語という面がある。
- 関数型だけでなく、手続き型的な言語要素に関しても標準化している。
- 関数単位の細かで反復的なコンパイルにより、効率的な実行を可能にすると同時にREPLによる動的で迅速な開発をサポートする。
- 関数オブジェクト、複素数、有理数、多倍長整数などを一級オブジェクトとして持つ。
- すべてはオブジェクト。マルチメソッド機能をサポートした強力な動的オブジェクトシステムCommon Lisp Object Systemを備える。
- assert関数による基本的なテスト駆動開発が可能。
- 「例外/ハンドラ」の処理をさらに一段階分離した「Condition/Restart/Handler」による例外処理。
- マクロ(プログラムによるコンパイル時のコード変換)やリーダーマクロ(特定の文字に対して新しく構文を拡張する)といった標準機能により言語を拡張可能。