2017-11-20 02:19:03 +01:00
*
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: nn-n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Multiply `n1` by `n2` and return the result.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:primitive | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2018-01-05 21:28:19 +01:00
Example #1:
#2 #6 *
#-1 #100 *
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
+
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Data: nn-n
2017-11-19 15:51:25 +01:00
Addr: -
Float: -
2017-11-20 02:19:03 +01:00
Add `n1` to `n2` and return the result.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:primitive | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Example #1:
2017-11-19 15:51:25 +01:00
2018-01-05 21:28:19 +01:00
#1 #2 +
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
,
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: n-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Store the specified value into the memory at `here` and increment `Heap` by 1.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2018-01-05 21:28:19 +01:00
Example #1:
$a , $b , $c , #0 ,
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
-
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Data: nn-n
2017-11-19 15:51:25 +01:00
Addr: -
Float: -
2017-11-20 02:19:03 +01:00
Subtract `n1` from `n2` and return the difference.
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Class Handler: class:primitive | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2018-01-05 21:28:19 +01:00
Example #1:
#2 #1 -
#-10 #3 -
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
---reveal---
2017-11-19 15:51:25 +01:00
Data: -
Addr: -
Float: -
2017-11-20 02:19:03 +01:00
Switch to the exposed (public) portion of a lexical namespace.
2017-11-19 15:51:25 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
-eq?
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Data: nn-f
2017-11-19 15:51:25 +01:00
Addr: -
Float: -
2017-11-20 02:19:03 +01:00
Compare two values for inequality. Returns `TRUE` if they are not equal or `FALSE` otherwise.
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Class Handler: class:primitive | Namespace: global | Interface Layer: all
2017-11-19 15:51:25 +01:00
2018-01-05 21:28:19 +01:00
Example #1:
#1 #2 -eq?
$a $b -eq?
2017-11-19 15:51:25 +01:00
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
-if
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Data: fq-
2017-11-19 15:51:25 +01:00
Addr: -
Float: -
2017-11-20 02:19:03 +01:00
Execute the quotation if the flag is `FALSE`.
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-11-19 15:51:25 +01:00
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
/
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: mn-o
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Divide `m` by `n` and return the result.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
/mod
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: nm-op
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Divide `n` by `m` and return the result and remainder.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:primitive | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
0;
2017-11-11 16:14:05 +01:00
Data: n-n || n-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
If `n` is zero, drop `n` and exit the current word. If non-zero, leave `n` alone and allow execution to continue.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
;
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
End the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
?dup
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Data: n-nn || n-n
2017-11-11 16:14:05 +01:00
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Duplicate top value on stack if not zero. If zero, do nothing.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2018-01-05 21:28:19 +01:00
Example #1:
#1 ?dup
#0 ?dup
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:ACK
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:BEL
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:BS
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:CAN
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:CR
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:DC1
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:DC2
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:DC3
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:DC4
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:DEL
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:DLE
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:EM
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:ENQ
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:EOT
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:ESC
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:ETB
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:ETX
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:FF
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:FS
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:GS
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:HT
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:LF
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:NAK
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:NUL
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:RS
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:SI
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:SO
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:SOH
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:SPACE
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:STX
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:SUB
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:SYN
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:US
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
ASCII:VT
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
Constant. Refers to specific ASCII code.
2017-11-11 16:14:05 +01:00
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Compiler
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Data: -a
2017-11-11 16:14:05 +01:00
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Variable. Holds the compiler state. If TRUE, the compiler is active. If FALSE, it is not.
Class Handler: class:data | Namespace: global | Interface Layer: all
----------------------------------------------------------------
Dictionary
Data: -a
Addr: -
Float: -
Variable. Holds a pointer to the most recent dictionary header.
Class Handler: class:data | Namespace: global | Interface Layer: all
----------------------------------------------------------------
EOM
Data: -n
Addr: -
Float: -
Constant. Returns the last addressable memory address.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
FALSE
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Data: -n
2017-11-11 16:14:05 +01:00
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Returns `0`, the value used to indicate a FALSE result.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
FREE
Data: -n
Addr: -
Float: -
Returns the number of cells available to your application. This is the amount of memory, less the already consumed portion and buffers mapped for RETRO's internal use.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
Heap
Data: -a
Addr: -
Float: -
Variable. Holds the address of the next available cell.
Class Handler: class:data | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2018-02-26 15:47:44 +01:00
I
Data: -n
Addr: -
Float: -
Access the loop index for the current loop. (For loops made using `times<with-index>`)
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
J
Data: -n
Addr: -
Float: -
Access the parent loop index for the current loop. (For loops made using `times<with-index>`)
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
K
Data: -n
Addr: -
Float: -
Access the grandparent loop index for the current loop. (For loops made using `times<with-index>`)
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
RewriteUnderscores
Data: -a
Addr: -
Float: -
Variable. When set to `TRUE`, RETRO will replace underscores in strings with spaces. When `FALSE`, RETRO does not.
Class Handler: class:data | Namespace: global | Interface Layer: all
----------------------------------------------------------------
STRINGS
Data: -a
Addr: -
Float: -
Return the address of the start of the temporary string pool.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
ScopeList
Data: -a
Addr: -
Float: -
Variable. This holds some information used by `{{` and `}}`.
Class Handler: class:data | Namespace: global | Interface Layer: all
----------------------------------------------------------------
TRUE
Data: -n
Addr: -
Float: -
Returns `-1`, the value used to indicate a TRUE result.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
TempStringMax
Data: -a
Addr: -
Float: -
Variable. Holds the maximum length of a temporary string.
Class Handler: class:data | Namespace: global | Interface Layer: all
----------------------------------------------------------------
TempStrings
Data: -a
Addr: -
Float: -
Variable. Holds the number of temporary strings.
Class Handler: class:data | Namespace: global | Interface Layer: all
----------------------------------------------------------------
Version
Data: -a
Addr: -
Float: -
Variable. This stores the version number.
Class Handler: class:data | Namespace: global | Interface Layer: all
----------------------------------------------------------------
[
Data: -
Addr: -
Float: -
Begin a quotation.
Class Handler: class:macro | Namespace: global | Interface Layer: all
----------------------------------------------------------------
]
Data: -
Addr: -
Float: -
End a quotation.
Class Handler: class:macro | Namespace: global | Interface Layer: all
----------------------------------------------------------------
again
Data: -
Addr: -
Float: -
Close an unconditional loop. Branches back to the prior `repeat`.
Class Handler: class:macro | Namespace: global | Interface Layer: all
----------------------------------------------------------------
allot
Data: n-
Addr: -
Float: -
Allocate the specified number of cells from the `Heap`.
Class Handler: class:word | Namespace: global | Interface Layer: all
2018-01-05 21:28:19 +01:00
Example #1:
'Buffer d:create #100 allot
2017-11-20 02:19:03 +01:00
----------------------------------------------------------------
and
Data: nm-o
Addr: -
Float: -
Perform a bitwise AND operation between the two provided values.
Class Handler: class:primitive | Namespace: global | Interface Layer: all
----------------------------------------------------------------
as{
Data: -f
Addr: -
Float: -
Begin an assembly section.
Class Handler: class:macro | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2018-02-05 22:15:27 +01:00
banner
Data: -
Addr: -
Float: -
Display a welcome message on startup.
Class Handler: class:word | Namespace: global | Interface Layer: rre
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
bi
Data: xqq-?
Addr: -
Float: -
Execute q1 against x, then execute q2 against a copy of x.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2018-01-05 21:28:19 +01:00
Example #1:
#100 [ #10 * ] [ #10 - ] bi
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-19 15:51:25 +01:00
bi*
2017-10-20 04:54:10 +02:00
2017-11-19 15:51:25 +01:00
Data: xyqq-?
2017-11-11 16:14:05 +01:00
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-19 15:51:25 +01:00
Execute q1 against x and q2 against y.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2018-01-05 21:28:19 +01:00
Example #1:
#10 #20 [ #2 * ] [ #10 / ] bi*
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
bi@
Data: xyq-?
Addr: -
Float: -
Execute q against x, then execute q against y.
Class Handler: class:word | Namespace: global | Interface Layer: all
2018-01-05 21:28:19 +01:00
Example #1:
#10 #20 [ #3 * ] bi@
2017-11-20 02:19:03 +01:00
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
buffer:add
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: n-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Append a value to the current buffer.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: buffer | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
buffer:empty
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Reset the current buffer to an empty state.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: buffer | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
buffer:end
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -a
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return a pointer to the current end of the active buffer.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: buffer | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
buffer:get
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Remove the last value from the current buffer.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: buffer | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
buffer:preserve
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: q-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Save and restore the current buffer before and after executing the specified quote.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: buffer | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
buffer:set
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: a-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Assign a new buffer as the current one.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: buffer | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
buffer:size
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return the number of cells in the buffer.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: buffer | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
buffer:start
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -a
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return the start address of the current buffer.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: buffer | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-15 21:34:20 +01:00
bye
Data: -
Addr: -
Float: -
Exit RETRO.
Class Handler: class:word | Namespace: global | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
c:-consonant?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is a not consonant or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:-digit?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is a not numeric digit or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:-lowercase?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is not lowercase or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
c:-uppercase?
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is not uppercase or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:-visible?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is not printable or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:-vowel?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is not a vowel or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:-whitespace?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is not whitespace, or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:consonant?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is a consonant or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:digit?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is a numeric digit or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2018-05-07 18:24:36 +02:00
c:get
Data: -c
Addr: -
Float: -
Read a single keypress.
Class Handler: class:word | Namespace: global | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
c:letter?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is an ASCII letter or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:lowercase?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is lowercase or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2018-05-07 18:24:36 +02:00
c:put
Data: c-
Addr: -
Float: -
Display a single character.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
c:to-lower
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-c
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Convert character to lowercase equivalent.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2018-08-21 02:54:38 +02:00
c:to-number
Data: c-n
Addr: -
Float: -
Convert an ASCII digit character into the corresponding decimal value
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
c:to-string
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-s
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Convert character into a string.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:to-upper
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-c
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Convert character to uppercase equivalent.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:toggle-case
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-c
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Convert an ASCII character to the opposite case.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:uppercase?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is uppercase or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:visible?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is printable or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:vowel?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is a vowel or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
c:whitespace?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: c-f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return TRUE if character is whitespace, or FALSE otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: c | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
call
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: a-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Call a function.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:primitive | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
case
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: nmq- || nmq-n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
If `n` is equal to `m`, drop both and execute the specified quote before exiting the calling word. If not equal, leave `n` on the stack and let execution continue.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
choose
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: fqq-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2018-04-18 19:07:00 +02:00
Execute q1 if the flag is true (-1) or q2 if the flag is false (0). Only these flags are valid when using `choose`.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
class:data
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: n- || n-n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class handler for data structures.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
Keep the address or value on the stack.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile Time:
Compile the value or address as a literal into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: class | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
class:macro
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: a-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class handler for compiler macros (immediate words)
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
Execute the function at the provided address.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile Time:
Execute the function at the provided address.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: class | Interface Layer: all
2017-10-29 03:09:56 +01:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-29 03:09:56 +01:00
2017-11-11 16:14:05 +01:00
class:primitive
2017-10-29 03:09:56 +01:00
2017-11-11 16:14:05 +01:00
Data: a-
Addr: -
Float: -
2017-10-29 03:09:56 +01:00
2017-11-11 16:14:05 +01:00
Class handler for primitive words (words which map to Nga instructions)
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
Execute the function.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile Time:
Compile the machine code in the definiton into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: class | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
class:word
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: a-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class handler for normal words.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
Execute the function at the provided address.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile Time:
Compile a call to the specified address into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: class | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2018-02-05 21:59:36 +01:00
clock:day
Data: -n
Addr: -
Float: -
Return the current day.
Class Handler: class:word | Namespace: clock | Interface Layer: iOS
----------------------------------------------------------------
clock:hour
Data: -n
Addr: -
Float: -
Return the current hour.
Class Handler: class:word | Namespace: clock | Interface Layer: iOS
----------------------------------------------------------------
clock:minute
Data: -n
Addr: -
Float: -
Return the current minute.
Class Handler: class:word | Namespace: clock | Interface Layer: iOS
----------------------------------------------------------------
clock:month
Data: -n
Addr: -
Float: -
Return the current month.
Class Handler: class:word | Namespace: clock | Interface Layer: iOS
----------------------------------------------------------------
clock:second
Data: -n
Addr: -
Float: -
Return the current second.
Class Handler: class:word | Namespace: clock | Interface Layer: iOS
----------------------------------------------------------------
clock:year
Data: -n
Addr: -
Float: -
Return the current year.
Class Handler: class:word | Namespace: clock | Interface Layer: iOS
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
compile:call
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: a-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile a call to the specified address into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: compile | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
compile:jump
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: a-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile a jump to the specified address into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: compile | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
compile:lit
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: n-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile the code to push a number to the stack into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: compile | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
compile:ret
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile a return instruction into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: compile | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
compiling?
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -f
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return `TRUE` if compiler is on or `FALSE` otherwise.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2018-04-22 22:14:18 +02:00
config:set-editor-font
Data: s-
Addr: -
Float: -
Set the font to use in the editor. If the font fails to load, RETRO will fall back to a safe default.
Class Handler: class:word | Namespace: config | Interface Layer: iOS
----------------------------------------------------------------
config:set-editor-size
Data: n-
Addr: -
Float: -
Set the size of the font to use in the editor.
Class Handler: class:word | Namespace: config | Interface Layer: iOS
----------------------------------------------------------------
config:set-output-font
Data: s-
Addr: -
Float: -
Set the font to use in output area. If the font fails to load, RETRO will fall back to a safe default.
Class Handler: class:word | Namespace: config | Interface Layer: iOS
----------------------------------------------------------------
config:set-output-size
Data: n-
Addr: -
Float: -
Set the size of the font to use in the output area.
Class Handler: class:word | Namespace: config | Interface Layer: iOS
----------------------------------------------------------------
config:set-toolbar-font
Data: s-
Addr: -
Float: -
Set the font to use in the toolbar. If the font fails to load, RETRO will fall back to a safe default.
Class Handler: class:word | Namespace: config | Interface Layer: iOS
----------------------------------------------------------------
config:set-toolbar-size
Data: n-
Addr: -
Float: -
Set the size of the font to use in the toolbar.
Class Handler: class:word | Namespace: config | Interface Layer: iOS
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
const
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: ns-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Create a constant returning the specified value.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
copy
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: sdl-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Copy `l` cells from memory at `s` to the memory at `d`. These should not overlap.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
curry
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: nq-q
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Bind a value to a function and return a new quote that calls the bound action.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: n-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Inline a numeric value to the current assembly segment.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: global | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:add-header
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: saa-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Create a header. Provide a string (s) for the name, a pointer to the class handler (a1) and a pointer to the word definition (a2) Generally this won't be used directly.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:class
2017-10-23 21:27:14 +02:00
2017-11-11 16:14:05 +01:00
Data: d-a
Addr: -
Float: -
2017-10-23 21:27:14 +02:00
2017-11-11 16:14:05 +01:00
Given a dictionary header, return the class field.
2017-10-23 21:27:14 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-23 21:27:14 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:create
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: s-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Create a new dictionary header named the specified string. The new header will point to `here` and have a class of `class:data`.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:for-each
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: q-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Execute the specified quote once for each header in the dictionary. Before running the quote, this also pushes a pointer to the header onto the stack.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:last
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -d
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return the most recent dictionary header.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:last<class>
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -a
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return a pointer to the class field of the most recent dictionary header.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:last<name>
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -s
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return a pointer to the name field of the most recent dictionary header.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:last<xt>
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: -a
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Return a pointer to the xt field of the most recent dictionary header.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:link
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: d-a
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Given a dictionary header, return the link field.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:lookup
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: s-d
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Lookup the specified name in the dictionary and return a pointer to its dictionary header. This returns zero if the word is not found.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: d | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
d:lookup-xt
Data: a-d
Addr: -
Float: -
Lookup the specified address in the dictionary and return a pointer to its dictionary header. This returns zero if the word is not found.
Class Handler: class:word | Namespace: d | Interface Layer: all
----------------------------------------------------------------
d:name
Data: d-s
Addr: -
Float: -
Given a dictionary header, return the name field.
Class Handler: class:word | Namespace: d | Interface Layer: all
----------------------------------------------------------------
2018-05-07 20:25:49 +02:00
d:words
Data: -
Addr: -
Float: -
Display a list of all named items in the `Dictionary`.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2018-05-09 14:13:01 +02:00
d:words-with
Data: s-
Addr: -
Float: -
Display a list of all named items in the `Dictionary` that contain the provided substring.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
d:xt
Data: d-a
Addr: -
Float: -
Given a dictionary header, return the xt field.
Class Handler: class:word | Namespace: d | Interface Layer: all
----------------------------------------------------------------
data
Data: -
Addr: -
Float: -
Change the class of the most recently defined word to `class:data`.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
depth
Data: -n
Addr: -
Float: -
Return the number of items on the stack.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
dip
Data: nq-n
Addr: -
Float: -
Temporarily remove n from the stack, execute the quotation, and then restore n to the stack.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
does
Data: q-
Addr: -
Float: -
Attach an action to the most recently created word. This is used in a manner similar to CREATE/DOES> in traditional Forth.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
drop
Data: n-
Addr: -
Float: -
Discard the top value on the stack.
Class Handler: class:primitive | Namespace: global | Interface Layer: all
----------------------------------------------------------------
drop-pair
Data: nn-
Addr: -
Float: -
Remove top two items on the stack.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
dump-stack
Data: -
Addr: -
Float: -
Display the items on the data stack.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
dup
Data: n-nn
Addr: -
Float: -
Duplicate the top item on the stack.
Class Handler: class:primitive | Namespace: global | Interface Layer: all
----------------------------------------------------------------
dup-pair
Data: nm-nmnm
Addr: -
Float: -
Duplicate the top two items on the stack.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
eq?
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Data: nn-f
2017-11-19 15:51:25 +01:00
Addr: -
Float: -
2017-11-20 02:19:03 +01:00
Compare two values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise.
Class Handler: class:primitive | Namespace: global | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#1 #2 eq?
$a $b eq?
2017-11-20 02:19:03 +01:00
----------------------------------------------------------------
err:notfound
Data: -
Addr: -
Float: -
Error handler. Called when a word is not found by `interpret`.
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Class Handler: class:word | Namespace: err | Interface Layer: all
2017-11-19 15:51:25 +01:00
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
f:*
2017-11-11 16:14:05 +01:00
2017-11-20 02:19:03 +01:00
Data: -
2017-11-11 16:14:05 +01:00
Addr: -
2017-11-20 02:19:03 +01:00
Float: FF-F
2017-11-11 16:14:05 +01:00
2017-11-20 02:19:03 +01:00
Multiply two floating point numbers, returning the result.
2017-11-11 16:14:05 +01:00
2017-11-20 02:19:03 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
2017-11-11 16:14:05 +01:00
2018-01-05 22:01:05 +01:00
Example #1:
.3.1415 .22 f:*
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
f:+
2017-11-19 15:51:25 +01:00
Data: -
Addr: -
2017-11-20 02:19:03 +01:00
Float: FF-F
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Add two floating point numbers, returning the result.
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
2017-11-19 15:51:25 +01:00
2018-01-05 22:01:05 +01:00
Example #1:
.3.1 .22 f:+
2017-11-19 15:51:25 +01:00
----------------------------------------------------------------
f:-
Data: -
Addr: -
Float: FF-F
Subtract F2 from F1 returing the result.
Class Handler: class:word | Namespace: f | Interface Layer: rre
2018-01-05 22:01:05 +01:00
Example #1:
.22.3 .0.12 f:-
2017-11-19 15:51:25 +01:00
----------------------------------------------------------------
2018-04-30 03:54:21 +02:00
f:-INF
Data: -
Addr: -
Float: -n
Return a value corresponding to negative infinity
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-19 15:51:25 +01:00
f:-eq?
Data: -f
Addr: -
Float: FF-
Compare two floating point values for inequality. Returns `TRUE` if they are not equal or `FALSE` otherwise.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2018-04-30 13:46:44 +02:00
f:-inf?
Data: -f
Addr: -
Float: F-
Return `TRUE` if floating point value is -INF or `FALSE` otherwise.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
f:/
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
2017-11-19 15:51:25 +01:00
Float: FF-F
2017-11-11 16:14:05 +01:00
2017-11-20 02:19:03 +01:00
Divide floating point value F1 by F2.
2017-11-11 16:14:05 +01:00
2017-11-19 15:51:25 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
f:E
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
2017-11-20 02:19:03 +01:00
Float: -F
2017-11-11 16:14:05 +01:00
2017-11-20 02:19:03 +01:00
Return the floating point value for Euler's number.
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2018-04-30 03:54:21 +02:00
f:INF
Data: -
Addr: -
Float: -n
Return a value corresponding to positive infinity
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:NAN
2018-04-30 03:19:06 +02:00
Data: -
Addr: -
Float: -n
Return a value corresponding to NaN
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
f:PI
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
2017-11-20 02:19:03 +01:00
Float: -F
2017-11-11 16:14:05 +01:00
2017-11-20 02:19:03 +01:00
Return the floating point value for PI.
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-19 15:51:25 +01:00
f:abs
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
2017-11-19 15:51:25 +01:00
Float: F-F
2017-11-11 16:14:05 +01:00
2017-11-19 15:51:25 +01:00
Return the absolute value for a floating point value.
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-19 15:51:25 +01:00
f:acos
2017-11-11 16:14:05 +01:00
2017-11-19 15:51:25 +01:00
Data: -
2017-11-11 16:14:05 +01:00
Addr: -
2017-11-19 15:51:25 +01:00
Float: f-f
2017-11-11 16:14:05 +01:00
2017-11-19 15:51:25 +01:00
Return the arc cosine of a floating point number.
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-19 15:51:25 +01:00
f:asin
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
2017-11-19 15:51:25 +01:00
Float: f-f
2017-11-11 16:14:05 +01:00
2017-11-19 15:51:25 +01:00
Return the arc sine of a floating point number.
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-19 15:51:25 +01:00
f:atan
2017-11-11 16:14:05 +01:00
Data: -
Addr: -
2017-11-19 15:51:25 +01:00
Float: f-f
2017-11-11 16:14:05 +01:00
2017-11-19 15:51:25 +01:00
Return the arc tangent of a floating point number.
2017-11-11 16:14:05 +01:00
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-12-19 02:29:28 +01:00
f:ceiling
Data: -
Addr: -
Float: F-F
Return the smallest integral value greater than or equal to the specified value.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-19 02:04:22 +01:00
f:cos
Data: -
Addr: -
Float: f-f
Return the cosine of a floating point number.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
f:depth
Data: -n
Addr: -
Float: -
Return the number of items on the floating point stack.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:drop
Data: -
Addr: -
Float: F-
Discard the top item on the floating point stack.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:dup
Data: -
Addr: -
Float: F-FF
Duplicate the top item on the floating point stack.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:eq?
Data: -f
Addr: -
Float: FF-
Compare two floating point values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:floor
Data: -
Addr: -
Float: F-F
Perform a mathmatical floor operation on the floating point value.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:gt?
Data: -f
Addr: -
Float: FF-
Compare two floating point values for greater than.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2018-04-30 13:46:44 +02:00
f:inf?
Data: -f
Addr: -
Float: F-
Return `TRUE` if floating point value is INF or `FALSE` otherwise.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
f:log
Data: -
Addr: -
Float: FF-F
Return log(F1) for base F2 for floating point values.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:lt?
Data: -f
Addr: -
Float: FF-
Compare two floating point values for less than.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2018-04-30 13:46:44 +02:00
f:nan?
Data: -f
Addr: -
Float: F-
Return `TRUE` if floating point value is NaN or `FALSE` otherwise.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
f:negate
Data: -
Addr: -
Float: F-F
Invert the sign of the floating point value.
Class Handler: class:word | Namespace: f | Interface Layer: rre
2018-01-05 22:01:05 +01:00
Example #1:
.3.1415 f:negate
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
f:negative?
Data: -f
Addr: -
Float: F-
Return `TRUE` if floating point value is negative or `FALSE` if not.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:over
Data: -
Addr: -
Float: FG-FGF
Put a copy of the second floating point value over the top one.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:positive?
Data: -f
Addr: -
Float: F-
Return `TRUE` if floating point value is positive or `FALSE` otherwise.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:power
Data: -
Addr: -
Float: FF-F
Return F1^F2 for floating point values.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2018-05-07 18:24:36 +02:00
f:put
Data: -
Addr: -
Float: F-
Display a floating point number.
Class Handler: class:word | Namespace: global | Interface Layer: rre
----------------------------------------------------------------
2018-05-24 12:59:39 +02:00
f:round
Data: -
Addr: -
Float: f-f
Round a floating point value.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-19 02:04:22 +01:00
f:sin
Data: -
Addr: -
2018-05-07 17:43:25 +02:00
Float: F-F
2017-11-19 02:04:22 +01:00
Return the sine of a floating point number.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2018-05-07 17:43:25 +02:00
f:sqrt
Data: -
Addr: -
Float: F-F
Return the square root of a floating point number.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2018-05-24 12:59:39 +02:00
f:square
Data: -
Addr: -
Float: f-f
Return the square of a floating point number.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
f:swap
Data: -
Addr: -
Float: FG-GF
Exchange the top and second items on the floating point stack.
Class Handler: class:word | Namespace: f | Interface Layer: rre
2017-11-19 02:04:22 +01:00
----------------------------------------------------------------
f:tan
Data: -
Addr: -
2018-05-07 17:43:25 +02:00
Float: F-F
2017-11-19 02:04:22 +01:00
Return the tangent of a floating point number.
Class Handler: class:word | Namespace: f | Interface Layer: rre
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
f:to-number
Data: -n
Addr: -
Float: F-
Convert a floating point value into a number.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:to-string
Data: -s
Addr: -
Float: F-
Convert a floating point value into a string.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
f:tuck
Data: -
Addr: -
Float: FG-GFG
Tuck a copy of the top floating point value under the second one.
Class Handler: class:word | Namespace: f | Interface Layer: rre
----------------------------------------------------------------
fetch
Data: a-n
Addr: -
Float: -
Fetch the value stored at the specified address.
Class Handler: class:primitive | Namespace: global | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
&Version fetch
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
fetch-next
Data: a-an
Addr: -
Float: -
Fetch the value stored at the specified address. Returns the next address and the value.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
file:A
Data: -n
Addr: -
Float: -
Constant for opening a file in APPEND mode.
Class Handler: class:data | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
file:R
Data: -n
Addr: -
Float: -
Constant for opening a file in READ mode.
Class Handler: class:data | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:R+
Data: -n
Addr: -
Float: -
Constant for opening a file in READ & WRITE mode.
Class Handler: class:data | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:W
Data: -n
Addr: -
Float: -
Constant for opening a file in WRITE mode.
Class Handler: class:data | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
file:close
Data: h-
Addr: -
Float: -
Given a file handle, close the file.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:delete
Data: s-
Addr: -
Float: -
Delete the named file.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:exists?
Data: s-f
Addr: -
Float: -
Given a file name, return `TRUE` if it exists or `FALSE` if it does not.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:flush
Data: h-
Addr: -
Float: -
Given a file handle, flush any pending writes to disk.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:for-each-line
Data: sq-
Addr: -
Float: -
Given a file name, open it and run the quote once for each line in the file.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:open
Data: sm-h
Addr: -
Float: -
Open a named file (s) with the given mode (m). Returns a handle identifying the file.
Class Handler: class:word | Namespace: file | Interface Layer: rre
2017-11-12 16:03:00 +01:00
Example #1:
'/etc/motd file:R file:open
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2018-07-14 16:24:12 +02:00
file:open<for-append>
Data: s-nn
Addr: -
Float: -
Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS)
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:open<for-reading>
Data: s-nn
Addr: -
Float: -
Open a file for reading. Returns the size (NOS) and a file ID (TOS)
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:open<for-writing>
Data: s-nn
Addr: -
Float: -
Open a file for reading. Returns the file ID
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
file:read
Data: h-c
Addr: -
Float: -
Given a file handle, read and return the next character in it.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:read-line
Data: f-s
Addr: -
Float: -
Given a file handle, read a line and return a pointer to it.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:seek
Data: nh-
Addr: -
Float: -
Move the current offset into a file to the specified one.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:size
Data: h-n
Addr: -
Float: -
Given a file handle, return the size of the file (in bytes).
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:slurp
Data: as-
Addr: -
Float: -
Given an address and a file name, read the file contents into memory starting at the address.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:spew
Data: ss-
Addr: -
Float: -
Given a string (s1) and a file name (s2), write the string into the file, replacing any existing cotent.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:tell
Data: h-n
Addr: -
Float: -
Given a file handle, return the current offset in the file.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
file:write
Data: ch-
Addr: -
Float: -
Write a character to the file represented by the handle.
Class Handler: class:word | Namespace: file | Interface Layer: rre
----------------------------------------------------------------
gopher:get
Data: asns-n
Addr: -
Float: -
Takes an address, a server, a port, and a selector. Fetch the resource and store it at address. Return the number of bytes received.
Class Handler: class:word | Namespace: gopher | Interface Layer: rre
2018-01-05 22:01:05 +01:00
Example #1:
here 'forthworks.com #70 '/ gopher:get
2018-05-07 18:24:36 +02:00
here s:put
2018-01-05 22:01:05 +01:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
gt?
Data: nn-f
Addr: -
Float: -
Compare n1 and n2. Return `TRUE` if n1 is greater than n2, or `FALSE` otherwise.
Class Handler: class:primitive | Namespace: global | Interface Layer: all
----------------------------------------------------------------
gteq?
Data: nn-f
Addr: -
Float: -
Compare n1 and n2. Return `TRUE` if n1 is greater than or equal to n2, or `FALSE` otherwise.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
here
Data: -a
Addr: -
Float: -
Return the next free address in memory.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
i
Data: s-
Addr: -
Float: -
Assemble the instructions specified by the string into the current assembly scope.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
if
Data: fq-
Addr: -
Float: -
Execute the quote if the flag is `TRUE`.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
immediate
Data: -
Addr: -
Float: -
Change the class of the most recently defined word to `class:macro`.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-27 22:53:51 +01:00
include
Data: s-
Addr: -
Float: -
Run the code in the specified file.
Class Handler: class:word | Namespace: global | Interface Layer: rre
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
interpret
Data: s-
Addr: -
Float: -
Interpret a single input token.
Class Handler: class:word | Namespace: global | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
'#100 interpret
'words interpret
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2018-04-22 22:14:18 +02:00
ios:list-fonts
Data: -
Addr: -
Float: -
Display a list of all installed fonts.
Class Handler: class:word | Namespace: ios | Interface Layer: iOS
----------------------------------------------------------------
2017-11-15 21:34:20 +01:00
listen
Data: -
Addr: -
Float: -
Run interactive "listener" (a REPL).
Class Handler: class:word | Namespace: global | Interface Layer: rre
----------------------------------------------------------------
2018-02-05 22:15:27 +01:00
2017-11-11 16:14:05 +01:00
lt?
Data: nn-f
Addr: -
Float: -
Compare n1 and n2. Return `TRUE` if n1 is less than n2, or `FALSE` otherwise.
Class Handler: class:primitive | Namespace: global | Interface Layer: all
----------------------------------------------------------------
lteq?
Data: nn-f
Addr: -
Float: -
Compare n1 and n2. Return `TRUE` if n1 is less than or equal to n2, or `FALSE` otherwise.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
mod
Data: nm-o
Addr: -
Float: -
Divide `n` by `m` and return the remainder.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
n:-zero?
Data: n-f
Addr: -
Float: -
Return `TRUE` if number is not zero, or `FALSE` otherwise.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
n:MAX
Data: -n
Addr: -
Float: -
Return the maximum value that will fit in a cell.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
n:MIN
Data: -n
Addr: -
Float: -
Return the minimum value that will fit in a cell.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
n:abs
Data: n-n
Addr: -
Float: -
Return the absolute value of a number.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#10 n:abs
#-10 n:abs
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:between?
Data: nlu-f
Addr: -
Float: -
Return TRUE if number is between the lower (l) and upper (u) bounds. If not, return FALSE. This is inclusive of the limits.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#3 #1 #100 n:between?
$q $a $b n:between?
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:dec
Data: n-m
Addr: -
Float: -
Decrement n by one.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#100 n:dec
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:even?
Data: n-f
Addr: -
Float: -
Return `TRUE` if number is even, or `FALSE` if not.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#12 n:even?
#11 n:even?
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:inc
Data: n-m
Addr: -
Float: -
Increment n by one.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#100 n:inc
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:limit
Data: nlu-m
Addr: -
Float: -
Return n if it is within the lower (l) and upper (u) bounds. If outside the bounds, return the closes boundary value.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#-10 #5 #8 n:limit
#10 #1 #15 n:limit
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:max
Data: mn-o
Addr: -
Float: -
Return the greater of two values.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#1 #7 n:max
#-8 #-10 n:max
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:min
Data: mn-o
Addr: -
Float: -
Return the lesser of two values.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#1 #7 n:min
#-8 #-10 n:min
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:negate
Data: n-n
Addr: -
Float: -
Invert the sign of a number.
Class Handler: class:word | Namespace: n | Interface Layer: all
2018-01-05 22:01:05 +01:00
Example #1:
#10 n:negate
#-10 n:negate
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
n:negative?
Data: n-f
Addr: -
Float: -
Return `TRUE` if number is negative, or `FALSE` if not.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
n:odd?
Data: n-f
Addr: -
Float: -
Return `TRUE` if number is odd, or `FALSE` if not.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
n:positive?
Data: n-f
Addr: -
Float: -
Return `TRUE` if number is positive, or `FALSE` if not.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
n:pow
Data: bp-n
Addr: -
Float: -
Return base (b) to power (p).
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
2018-05-07 18:24:36 +02:00
n:put
Data: n-
Addr: -
Float: -
Display a number.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
n:sqrt
Data: n-m
Addr: -
Float: -
Return the square root of a number.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
n:square
Data: n-m
Addr: -
Float: -
Return the square of a number.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
n:strictly-positive?
Data: n-f
Addr: -
Float: -
Return TRUE if number is greater than zero or FALSE if it is zero or less.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
n:to-float
Data: n-
Addr: -
Float: -F
Convert a number into a floating point value.
Class Handler: class:word | Namespace: n | Interface Layer: rre
----------------------------------------------------------------
n:to-string
Data: n-s
Addr: -
Float: -
Convert a number into a string.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
n:zero?
Data: n-f
Addr: -
Float: -
Return `TRUE` if number is zero, or `FALSE` otherwise.
Class Handler: class:word | Namespace: n | Interface Layer: all
----------------------------------------------------------------
nip
Data: nm-m
Addr: -
Float: -
Remove the second item from the stack.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
nl
Data: -
Addr: -
Float: -
Display a newline.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
not
Data: n-m
Addr: -
Float: -
Perform a logical NOT operation.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
or
Data: mn-o
Addr: -
Float: -
Perform a bitwise OR between the provided values.
Class Handler: class:primitive | Namespace: global | Interface Layer: all
----------------------------------------------------------------
over
Data: nm-nmn
Addr: -
Float: -
Put a copy of n over m.
Class Handler: class:word | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-12-01 03:17:11 +01:00
parse-until
Data: q-s
Addr: -
Float: -
2018-05-07 18:24:36 +02:00
Read input from stdin (via `c:get`) until the returned character is matched by the quote. Returns a string.
2017-12-01 03:17:11 +01:00
Class Handler: class:word | Namespace: all | Interface Layer: rre
Example #1:
:read-until-period (-s)
[ $. eq? ] parse-until ;
----------------------------------------------------------------
2018-02-05 22:06:17 +01:00
pb:get
Data: a-
Addr: -
Float: -
Copy a string from the pasteboard to the specified address.
Class Handler: class:word | Namespace: pb | Interface Layer: iOS
----------------------------------------------------------------
pb:length
Data: -n
Addr: -
Float: -
Return the length of the string on the pasteboard.
Class Handler: class:word | Namespace: {n/a} | Interface Layer: iOS
Example #2:
pb
----------------------------------------------------------------
pb:set
Data: s-
Addr: -
Float: -
Copy a string to the pasteboard.
Class Handler: class:word | Namespace: pb | Interface Layer: iOS
----------------------------------------------------------------
2017-11-11 16:14:05 +01:00
pop
Data: -n
Addr: n-
Float: -
Move a value from the return stack to the data stack.
Class Handler: class:macro | Namespace: global | Interface Layer: all
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
prefix:!
2017-11-11 16:14:05 +01:00
2017-11-20 02:19:03 +01:00
Data: ns-
2017-11-11 16:14:05 +01:00
Addr: -
Float: -
2017-11-20 02:19:03 +01:00
Store a value into a variable.
2017-11-11 16:14:05 +01:00
Interpret Time:
2017-11-20 02:19:03 +01:00
Store a value into the named variable.
Compile Time:
Compile the code to store a value into a named variable.
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
----------------------------------------------------------------
2017-11-20 02:19:03 +01:00
prefix:#
2017-11-11 16:14:05 +01:00
2017-11-20 02:19:03 +01:00
Data: s-n
2017-11-11 16:14:05 +01:00
Addr: -
Float: -
2017-11-20 02:19:03 +01:00
Process token as a number.
2017-11-11 16:14:05 +01:00
Interpret Time:
2017-11-20 02:19:03 +01:00
Convert the string into a number and leave on the stack.
2017-11-11 16:14:05 +01:00
Compile Time:
2017-11-20 02:19:03 +01:00
Convert the string into a number and compile into the current definition as a literal.
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
prefix:$
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Data: s-c
2017-11-11 16:14:05 +01:00
Addr: -
2017-11-20 02:19:03 +01:00
Float: -
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Process token as an ASCII character.
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Interpret Time:
Fetch first character from string. Leave on stack.
Compile Time:
Fetch first character from the string. Compile into the current definition as literal.
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
----------------------------------------------------------------
prefix:&
Data: s-a
Addr: -
Float: -
Return a pointer to a named item.
Interpret Time:
Lookup name in dictionary, return contents of the xt field on the stack.
Compile Time:
Lookup name in dictionary, compile code to push the contents of the xt field into the current definition.
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
prefix:'
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: s-s
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Process token as a string.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile Time:
Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Then compile the string into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
prefix:(
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: s-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Process token as a comment.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
Discard the string.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile Time:
Discard the string.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
prefix:.
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Data: s-
2017-11-11 16:14:05 +01:00
Addr: -
2017-11-20 02:19:03 +01:00
Float: -F
2017-11-19 15:51:25 +01:00
2017-11-20 02:19:03 +01:00
Interpret time: convert string to a floating point value. Compile time: convert string to a floating point value and compile code to push this value to the float stack.
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Class Handler: class:macro | Namespace: prefix | Interface Layer: rre
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
prefix::
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Data: s-
2017-11-11 16:14:05 +01:00
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Process token as a new definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
2017-11-20 02:19:03 +01:00
Create a header pointing to `here` with the provided string as the name. Sets class to `class:word`.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
prefix:@
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: s-n
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-20 02:19:03 +01:00
Fetch from a stored variable.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
2017-11-20 02:19:03 +01:00
Fetch a value from a named variable.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile Time:
2017-11-20 02:19:03 +01:00
Compile the code to fetch a value from a named variable into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
prefix:`
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: s-
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Process token as a bytecode.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Interpret Time:
Discard the string.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Compile Time:
Convert the string to a number and use `,` to inline it into the current definition.
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Class Handler: class:macro | Namespace: prefix | Interface Layer: all
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
----------------------------------------------------------------
2017-10-20 04:54:10 +02:00
2018-11-09 04:25:59 +01:00
prefix:|
2017-10-20 04:54:10 +02:00
2017-11-11 16:14:05 +01:00
Data: s-?
Addr: -
Float: -
2017-10-20 04:54:10 +02:00
2018-11-09 04:25:59 +01:00
This is similar to POSTPONE in ANS FORTH.
2017-10-20 04:54:10 +02:00
2018-11-09 04:25:59 +01:00
Interpret Time:
class:macro
2017-10-20 04:54:10 +02:00
2018-11-09 04:25:59 +01:00
Compile Time:
{n/a}
2017-11-20 02:19:03 +01:00
2018-11-09 04:25:59 +01:00
Attempt to store outside of memory bounds