Forth では、 演算子の名前はオーバーロードされません。 したがって、 異なる型に対する同様の演算には異なる名前が必要です。 たとえば、
+
は整数の加算をしますが、 浮動小数点数を加算するには f+
を使用する必要があります。 以下のプレフィックスは、
さまざまな型の関連する演算によく使用されます:
(none)
符号付き整数
u
符号なし整数
c
文字(character)
d
符号付き2倍長整数(signed double-cell integer)
ud, du
符号無し2倍長整数(unsigned double-cell integer)
2
2 つのセル(必ずしも 2倍長整数(double-cell numbers)とは限りません)
m, um
単一セルとダブル・セルの混合操作
f
浮動小数点(注意: スタック・コメントでは、 ‘f’ はフラグを表し、 ‘r’ は FP 数値を表すことに注意してください。 また、 リテラル FP 数値には指数部分を含める必要があります see Floating Point)。
符号付きのバリエーションと符号なしのバリエーションに違いがない場合(例えば +
の場合)、
プレフィックスのないバリエーションのみが存在します。
Forth は、 コンパイル・モード時もインタープリター・モード時も型チェックを実行しません。 以下のように間違った操作を行うと、 データが正しく通訳(interpret)されません:
-1 u.
あなたが、 これまで型チェック言語しか使用したことがなく、 型チェックがいかに重要であるかを聞いたことがある場合でも、 パニックに陥る必要はありません。 著者の経験(および他の Forth 利用者(Forthers)の経験)では、 Forth コードの型エラーは通常(慣れてしまえば)簡単に見つかります。 プログラマの警戒心が高まると、 ほとんどの型エラーに加えて、 より困難なエラーも発見される傾向があります。 型システムを回避する必要がまったくないため、 ほとんどの状況では型チェックがないことが利点であるようです(Forth に型チェックを追加するプロジェクトは普及していません)。