2012-03-13 21 views
5

最近、コード効率を向上させるために型指定子で手をつけ始めました。 Thisは、Common Lisp標準のすべての型指定子シンボルのリストです。一般的なLisp型指定子

私は森を通って木を見ることができません。

誰でも、異なるタイプ指定子の簡単な説明を与えたり、使用したりすることはできますか?

私はおよそそれらのすべてを学ぶために興味がありますが、私の直接の関心は数関連の種類(FIXNUM、BIGNUM、フロート、シングルフロート、ショートフロートなど)との違いに外に出る

+0

パフォーマンスの向上のための最初のステップではないことに注意してください。通常、計算に重いタイトループを除いて、これらは必須ではありません。 – hajovonta

答えて

8

CLtl2は、標準化される前のCommon Lispのバージョンを記述します。参照として使用しないでください、標準にさまざまな違いがあります。

ANSI Common Lisp標準に基づくCommon Lisp Hyperspecを使用します。

Common Lispの種類は、HyperSpecの4.2.3 Type Specifiersに記載されています。さまざまなタイプがそこからリンクされています。

+0

それは素晴らしいです!ありがとう! – mck

6

ここでは典型的な実装例を示します。

fixnumはマシンレジスタに収まる小さな整数です。それは

double-floatは、浮動小数点数IEEE倍精度で無制限のサイズの整数最速整数

bignumです。コンピュータによっては非常に高速かもしれません。

single-floatはIEEE単精度浮動小数点数です。それはあなたのCLの実装によって、再び、以下の範囲と精度を持っており、二重のより遅いかもしれないが、

short-floatlong-floatは、多くの場合、上記の二つの型にマッピングされ、より少ないメモリがかかりますが、異なっていてもよい

+0

非常に便利です、ありがとう! – mck

関連する問題