の言語仕様は原則として非常に単純なため、環境もしくは処理系の相違による互換の有無は、クラスライブラリーの差異程度に由来するもの（ある意味、バージョンの違いもこれも含まれる）から、言語仕様自体の改変に由来のものまで空間的に連続で多岐にわたる。このため、単に として語弊のある場合、一般にその環境および処理系の呼称もしくは商標（必要ならそのバージョン）をして他と区別するために用いる慣習がある。
文法.
コメント.
定数表現.
主な定数表現には次のようなものがある。
定数ではないが、よく用いられるオブジェクトの生成式には次のようなものがある。
変数.
擬変数.
メッセージ式.
 では「メッセージ式」と呼ばれる書式でコードを記述する。メッセージ式は「レシーバー」に「メッセージ」を送ることを表すためのもので、そのまま
通常の処理系では、単項メッセージ、二項メッセージ、キーワードメッセージの順で評価される。二項メッセージ間で乗除の優先はない。
 new
 yourself.
カスケード式を用いて書いた上記の文は、カスケード式を用いない次の文と等価である。
制御構文.
ブロック.
ブロックは、他の言語で言えば無名関数やクロージャーに該当する機能である。ただし のブロックは関数ではなくオブジェクトである事に加え、無名関数というより制御構文としての性格が強くなっている。並列実行の基本単位にもなる。
条件分岐.
 new
 yourself.
反復.
現在の反復回数を参照しながら反復する事も出来る。
 では条件なしの反復も存在する。無条件反復は、ブロックに対するメッセージ送信の形で次の様に記述する。
] repeat.
反復からの脱出.
] repeat.
例外処理機構.
 にも例外処理機構が存在する。こちらも、その他の構文と同じくメッセージ式とブロックによって実現されている。例外処理は次の様に記述する。
 [
]
 do:
 do:
並列処理.
では、標準で並列処理が存在する。並列処理は次の様に記述する。
process :=