Палитра Каллисто

Материал из ПМК вики
Перейти к навигации Перейти к поиску

Чтобы предоставить вам больше места для творчества, следующие слова не включены в ядро Каллисто. При необходимости они могут быть скопированы отсюда и добавлены программистом в свой исходный код.


Константы

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 ! ;