Для примера рассмотрим определение слова ABS, вычисляющего абсолютное значение числа:
: ABS ( A --->абс A) DUP 0< IF NEGATE THEN ;
Слово DUP дублирует исходное значение, следующее слово 0< проверяет его знак, заменяя копию на логическое значение — результат проверки. Слово IF снимает со стека этот результат, и если это ИСТИНА, то лежащее на стеке исходное отрицательное значение словом NEGATE заменяется на противоположное.
Еще пример: стандартное слово ?DUP дублирует верхнее значение, если это не ноль, и оставляет стек в исходном состоянии, если на вершине ноль:
: ?DUP ( A ---> A,A/0 ) DUP IF DUP THEN ;
В спецификации данного слова косая черта разделяет два варианта результата, который это слово может оставить на стеке. Примером использования полного условного оператора может служить определение слова S>D, расширяющего исходное значение до значения двойной длины распространением знакового разряда:
: S>D ( A ---> AA ) DUP 0< IF -1 ELSE 0 ТНЕN ;
Это слово добавляет в стек -1, если число на вершине стека отрицательно, или 0 в противном случае. Таким образом, выполняется распространение знакового разряда на старшую половину значения двойной точности.
В стандарт языка Форт включены циклы с условием и циклы со счетчиком. Циклы первой группы образуются с помощью слов
BEGIN ---> (исполнение) UNTIL A ---> (исполнение) WHILE A ---> (исполнение) REPEAT ---> (исполнение)
и имеют две формы:
BEGIN <тело> UNTIL BEGIN <тело-1> WHILE <тело-2> REPEAT
В обоих случаях цикл начинается словом BEGIN (начать), которое служит открывающей скобкой, отмечающей начало цикла, и во время счета не выполняет никаких действий.
Цикл BEGIN-UNTIL называется циклом с проверкой в конце.