Палитра Каллисто: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
Строка 17: | Строка 17: | ||
== Арифметика == | == Арифметика == | ||
: 2- | : 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 + ↔ ; | : under+ ( a b c -- a+c b ) rot + ↔ ; | ||
: within ( n lo hi+1 -- ? ) | : within ( n lo hi+1 -- ? ) | ||
>r 1- over < ↔ r> < and ; | >r 1- over < ↔ r> < and ; | ||
== Работа с памятью == | == Работа с памятью == |
Версия от 00:15, 12 сентября 2015
Чтобы предоставить вам больше места для творчества, следующие слова не включены в ядро Каллисто. При необходимости они могут быть скопированы отсюда и добавлены программистом в свой исходный код.
Константы
0 Constant false -1 Constant true
Определяющие слова
: 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 ! ;