Палитра Каллисто
Чтобы предоставить вам больше места для творчества, следующие слова не включены в ядро Каллисто. При необходимости они могут быть скопированы отсюда и добавлены программистом в свой исходный код.
Константы
0 Constant false -1 Constant true '"' Constant quote
Определяющие слова
: Array ( #cells -- ) <Builds 2× allot DOES> ( i -- ’cell) ↔ 2× + ;
Манипуляции со стеком
: -rot ( a b c -- c a b ) rot rot ;
Арифметика
: 2- ( a -- a-2 ) 1- 1- ; : <= ( a,b ---> a <= b ) ↔ < 0= ; : ≥ ( a,b ---> a ≥ b ) ↔ > 0= ; : ≠ ( a,b ---> a ≠ b ) = 0= ; : D0= ( aa ---> aa = 0 ) or 0= ; : under+ ( a b c -- a+c b ) rot + ↔ ; : within ( n lo hi+1 -- ? ) >r 1- over < ↔ r> < and ;
Работа с памятью
: 0! ( a -- ) 0 ↔ ! ; : 2@ ( a -- bb ) ↑ 2+ @ ↔ @ ;
Работа со словарём
: >body ( CFA -- PFA ) 2+ ;
Ввод-вывод
Вывод строк, завершающихся нулевым символом:
: typez ( a -- ) BEGIN ↑ c@ ↑ WHILE emit 1+ REPEAT 2drop ;
Остальное
: octal 8 base ! ;