スキームのタイプに関する標準的なドキュメントを探しています。たとえば、プログラムで明示的に型を指定する必要はありませんが、bool
またはboolean
であることはわかりません。 LIST
またはLISTE
; int
またはNat
; List[]
またはList[alpha]
...スキーム内のタイプの正確な用語
「原子表現」がどのように定義されているかがもう少し問題です。例えば、'(1 2 3)
は原子表現ですか?
スキームのタイプに関する標準的なドキュメントを探しています。たとえば、プログラムで明示的に型を指定する必要はありませんが、bool
またはboolean
であることはわかりません。 LIST
またはLISTE
; int
またはNat
; List[]
またはList[alpha]
...スキーム内のタイプの正確な用語
「原子表現」がどのように定義されているかがもう少し問題です。例えば、'(1 2 3)
は原子表現ですか?
Hereは、MIT方式の標準マニュアルです。使用しているスキームに応じて、これはあなたが探しているものかもしれません。
あなたが指摘しているように、型を明示的に指定する必要はありません。したがって、型の概念は言語仕様にはほとんど欠けています。
Typed Racketが気に入っています - Schemeの上に型付き言語を作成し、これらの言語は独自の型を定義しています。
また、クラスの値に名前を付ける契約システムもあります。繰り返しますが、私はこれの例としてRacketを指摘することができますが、そこには同様のシステムがあると確信しています。
具体的な説明はなく、あなたの質問に対する一般的な答えはありません。
「原子」という用語は、一般に、「複合データ」ではない値を指すために使用されます。つまり、他の値を含まない値です。リストは間違いなくアトミックではなく、シンボルがあります。