Common Lisp
様々な型がある。
NUMBER COMPLEX REAL FLOAT SINGLE-FLOAT DOUBLE-FLOAT RATIONAL INTEGER SIGNED-BYTE UNSIGNED-BYTE FIXNUM BIGNUM RATIO
Common Lisp は数値表現に 多倍長整数 を用いて任意のサイズと精度を実現している。有理数型が分数として正確に表現されるという点は、他の言語にあまり見られない特徴である。Common Lisp は自動的にそれぞれの数値型を適切に変換する。
型は type specifierという記述方式で参照され、これはよくtypespecと省略される。typespecを用いて議論する上で、built-inとは直交する概念として、Atomic Type 対 Compound Typeという概念がある。Compound type は、大雑把には、引数を取ることのことができる型である。例えば、(array fixnum (5 * 7))は、データ内容がすべて整数型で、サイズが次元ごとに「5,可変長,7」である配列を示している。
Compound Typeでは、本来の型に合わせて、特定の一変数関数を型判定に用いることもできる。例えば、型 mod3 を以下のように定義できる。
しかし、Common LispにはHaskellにおけるような型変数の概念はない。上のarrayの例における引数は、変数ではなく定数として処理されるためである。
知的エージェント作成のためのルールベースのプロダクションシステム。
ノーティードッグによるPlayStation、PlayStation 2 用のビデオゲーム。クラッシュ・バンディクーはGOOL(Game Oriented Object Lisp)、ジャック×ダクスターはGOOLを機能的に拡張した全く別の言語Game Oriented Assembly Lispによって実装されている。これらは、プレイステーションらの特殊なプロセッサ事情に合わせた自作コンパイラを含んでいる。