Modula-2
代わりに無限ループを構成する LOOP 文とそれから脱出する EXIT 文を持つ。
FOR文は予約語 BY によって増分を 1 か -1 以外にもできる。予約語 DOWNTO はない。
手続きと関数の定義は同じ予約語 PROCEDURE で開始する。関数は RETURN 文で値を返すことができる。手続きの終わりを示す END の後ろには手続き名を書く必要がある。手続き型の変数が存在する。
手続きの引数として整合配列を使用できる。整合配列は一次元に限られ、添え字 0 から始まる。配列 a の最大の添え字は HIGH(a) によって取得できる。
標準手続きは原則としてライブラリとして提供される。ただし CHR, ORD などは Modula-2 でも標準手続きである。
モジュールが存在する。モジュールは初期化部分を持ち、どの識別子をモジュール外から参照できるかを定義できる。分割コンパイルもモジュールを単位に行う。
絶対参照、出入力ポート制御、ビット型などの、ハードウェアを直接操作する低レベル機能を持つ。
コルーチンを持つ。