e2dd1e0d8f
FossilOrigin-Name: ea4e14412398732dfdf08a1e73b98720242de5885cb5d04d913b9a64e4e4fcd5
4180 lines
83 KiB
Text
4180 lines
83 KiB
Text
*
|
|
|
|
Data: nn-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Multiply `n1` by `n2` and return the result.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
+
|
|
|
|
Data: nn-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Add `n1` to `n2` and return the result.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
,
|
|
|
|
Data: n-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Store the specified value into the memory at `here` and increment `Heap` by 1.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
-
|
|
|
|
Data: nn-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Subtract `n1` from `n2` and return the difference.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
---reveal---
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Switch to the exposed (public) portion of a lexical namespace.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
-eq?
|
|
|
|
Data: nn-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Compare two values for inequality. Returns `TRUE` if they are not equal or `FALSE` otherwise.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
-if
|
|
|
|
Data: fq-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute the quotation if the flag is `FALSE`.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
/
|
|
|
|
Data: mn-o
|
|
Addr: -
|
|
Float: -
|
|
|
|
Divide `m` by `n` and return the result.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
/mod
|
|
|
|
Data: nm-op
|
|
Addr: -
|
|
Float: -
|
|
|
|
Divide `n` by `m` and return the result and remainder.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
0;
|
|
|
|
Data: n-n || n-
|
|
Addr: -
|
|
Float: -
|
|
|
|
If `n` is zero, drop `n` and exit the current word. If non-zero, leave `n` alone and allow execution to continue.
|
|
|
|
Class Handler: {n/a} | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
;
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
End the current definition.
|
|
|
|
Class Handler: class:macro | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
?dup
|
|
|
|
Data: n-nn || n-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Duplicate top value on stack if not zero. If zero, do nothing.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:ACK
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:BEL
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:BS
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:CAN
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:CR
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:DC1
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:DC2
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:DC3
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:DC4
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:DEL
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:DLE
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:EM
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:ENQ
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:EOT
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:ESC
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:ETB
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:ETX
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:FF
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:FS
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:GS
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:HT
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:LF
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:NAK
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:NUL
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:RS
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:SI
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:SO
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:SOH
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:SPACE
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:STX
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:SUB
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:SYN
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:US
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
ASCII:VT
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Refers to specific ASCII code.
|
|
|
|
Class Handler: class:data | Namespace: ASCII | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
Compiler
|
|
|
|
Data: -a
|
|
Addr: -
|
|
Float: -
|
|
|
|
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.
|
|
|
|
Class Handler: {n/a} | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
FALSE
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Returns `0`, the value used to indicate a FALSE result.
|
|
|
|
Class Handler: {n/a} | 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: {n/a} | 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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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: {n/a} | 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: -
|
|
|
|
Constant. Returns `-1`, the value used to indicate a TRUE result.
|
|
|
|
Class Handler: {n/a} | 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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
and
|
|
|
|
Data: nm-o
|
|
Addr: -
|
|
Float: -
|
|
|
|
Perform a bitwise AND operation between the two provided values.
|
|
|
|
Class Handler: {n/a} | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
as{
|
|
|
|
Data: -f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Begin an assembly section.
|
|
|
|
Class Handler: {n/a} | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
bi
|
|
|
|
Data: xqq-?
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute q1 against x, then execute q2 against a copy of x.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
bi*
|
|
|
|
Data: xyqq-?
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute q1 against x and q2 against y.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
bi@
|
|
|
|
Data: xyq-?
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute q against x, then execute q against y.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
buffer:add
|
|
|
|
Data: n-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Append a value to the current buffer.
|
|
|
|
Class Handler: class:word | Namespace: buffer | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
buffer:empty
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Reset the current buffer to an empty state.
|
|
|
|
Class Handler: class:word | Namespace: buffer | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
buffer:end
|
|
|
|
Data: -a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return a pointer to the current end of the active buffer.
|
|
|
|
Class Handler: class:word | Namespace: buffer | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
buffer:get
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Remove the last value from the current buffer.
|
|
|
|
Class Handler: class:word | Namespace: buffer | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
buffer:preserve
|
|
|
|
Data: q-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Save and restore the current buffer before and after executing the specified quote.
|
|
|
|
Class Handler: class:word | Namespace: buffer | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
buffer:set
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Assign a new buffer as the current one.
|
|
|
|
Class Handler: class:word | Namespace: buffer | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
buffer:size
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the number of cells in the buffer.
|
|
|
|
Class Handler: class:word | Namespace: buffer | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
buffer:start
|
|
|
|
Data: -a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the start address of the current buffer.
|
|
|
|
Class Handler: class:word | Namespace: buffer | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:-consonant?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is a not consonant or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:-digit?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is a not numeric digit or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:-lowercase?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is not lowercase or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:-uppercase?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is not uppercase or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:-visible?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is not printable or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:-vowel?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is not a vowel or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:-whitespace?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is not whitespace, or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:consonant?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is a consonant or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:digit?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is a numeric digit or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:letter?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is an ASCII letter or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:lowercase?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is lowercase or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:to-lower
|
|
|
|
Data: c-c
|
|
Addr: -
|
|
Float: -
|
|
|
|
Convert character to lowercase equivalent.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:to-string
|
|
|
|
Data: c-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Convert character into a string.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:to-upper
|
|
|
|
Data: c-c
|
|
Addr: -
|
|
Float: -
|
|
|
|
Convert character to uppercase equivalent.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:toggle-case
|
|
|
|
Data: c-c
|
|
Addr: -
|
|
Float: -
|
|
|
|
Convert an ASCII character to the opposite case.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:uppercase?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is uppercase or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:visible?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is printable or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:vowel?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is a vowel or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
c:whitespace?
|
|
|
|
Data: c-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return TRUE if character is whitespace, or FALSE otherwise.
|
|
|
|
Class Handler: class:word | Namespace: c | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
call
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Call a function.
|
|
|
|
Class Handler: {n/a} | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
case
|
|
|
|
Data: nmq- || nmq-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
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.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
choose
|
|
|
|
Data: fqq-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute q1 if the flag is `TRUE` or q2 if it is not.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
class:data
|
|
|
|
Data: n- || n-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Class handler for data structures.
|
|
|
|
Interpret Time:
|
|
Keep the address or value on the stack.
|
|
|
|
Compile Time:
|
|
Compile the value or address as a literal into the current definition.
|
|
|
|
Class Handler: {n/a} | Namespace: class | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
class:macro
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Class handler for compiler macros (immediate words)
|
|
|
|
Interpret Time:
|
|
Execute the function at the provided address.
|
|
|
|
Compile Time:
|
|
Execute the function at the provided address.
|
|
|
|
Class Handler: {n/a} | Namespace: class | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
class:primitive
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Class handler for primitive words (words which map to Nga instructions)
|
|
|
|
Interpret Time:
|
|
Execute the function.
|
|
|
|
Compile Time:
|
|
Compile the machine code in the definiton into the current definition.
|
|
|
|
Class Handler: {n/a} | Namespace: class | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
class:word
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Class handler for normal words.
|
|
|
|
Interpret Time:
|
|
Execute the function at the provided address.
|
|
|
|
Compile Time:
|
|
Compile a call to the specified address into the current definition.
|
|
|
|
Class Handler: {n/a} | Namespace: class | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
compile:call
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Compile a call to the specified address into the current definition.
|
|
|
|
Class Handler: class:word | Namespace: compile | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
compile:jump
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Compile a jump to the specified address into the current definition.
|
|
|
|
Class Handler: class:word | Namespace: compile | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
compile:lit
|
|
|
|
Data: n-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Compile the code to push a number to the stack into the current definition.
|
|
|
|
Class Handler: class:word | Namespace: compile | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
compile:ret
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Compile a return instruction into the current definition.
|
|
|
|
Class Handler: class:word | Namespace: compile | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
compiling?
|
|
|
|
Data: -f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return `TRUE` if compiler is on or `FALSE` otherwise.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
const
|
|
|
|
Data: ns-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Create a constant returning the specified value.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
copy
|
|
|
|
Data: sdl-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Copy `l` cells from memory at `s` to the memory at `d`. These should not overlap.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
curry
|
|
|
|
Data: nq-q
|
|
Addr: -
|
|
Float: -
|
|
|
|
Bind a value to a function and return a new quote that calls the bound action.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d
|
|
|
|
Data: n-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Inline a numeric value to the current assembly segment.
|
|
|
|
Class Handler: {n/a} | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:add-header
|
|
|
|
Data: saa-
|
|
Addr: -
|
|
Float: -
|
|
|
|
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.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:class
|
|
|
|
Data: d-a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Given a dictionary header, return the class field.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:create
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Create a new dictionary header named the specified string. The new header will point to `here` and have a class of `class:data`.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:for-each
|
|
|
|
Data: q-
|
|
Addr: -
|
|
Float: -
|
|
|
|
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.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:last
|
|
|
|
Data: -d
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the most recent dictionary header.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:last<class>
|
|
|
|
Data: -a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return a pointer to the class field of the most recent dictionary header.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:last<name>
|
|
|
|
Data: -s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return a pointer to the name field of the most recent dictionary header.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:last<xt>
|
|
|
|
Data: -a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return a pointer to the xt field of the most recent dictionary header.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:link
|
|
|
|
Data: d-a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Given a dictionary header, return the link field.
|
|
|
|
Class Handler: class:word | Namespace: d | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
d:lookup
|
|
|
|
Data: s-d
|
|
Addr: -
|
|
Float: -
|
|
|
|
Lookup the specified name 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: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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
eq?
|
|
|
|
Data: nn-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Compare two values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
err:notfound
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Error handler. Called when a word is not found by `interpret`.
|
|
|
|
Class Handler: class:word | Namespace: err | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
f:*
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: FF-F
|
|
|
|
Multiply two floating point numbers, returning the result.
|
|
|
|
Class Handler: class:word | Namespace: f | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
f:+
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: FF-F
|
|
|
|
Add two floating point numbers, returning the result.
|
|
|
|
Class Handler: class:word | Namespace: f | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
f:-
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: FF-F
|
|
|
|
Subtract F2 from F1 returing the result.
|
|
|
|
Class Handler: class:word | Namespace: f | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
f:/
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: FF-F
|
|
|
|
Divide floating point value F1 by F2.
|
|
|
|
Class Handler: class:word | Namespace: f | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
f:abs
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: F-F
|
|
|
|
Return the absolute value for a floating point value.
|
|
|
|
Class Handler: class:word | Namespace: f | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
f:negate
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: F-F
|
|
|
|
Invert the sign of the floating point value.
|
|
|
|
Class Handler: class:word | Namespace: f | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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: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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
getc
|
|
|
|
Data: -c
|
|
Addr: -
|
|
Float: -
|
|
|
|
Read a single keypress.
|
|
|
|
Class Handler: class:word | Namespace: global | 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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
interpret
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Interpret a single input token.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
n:abs
|
|
|
|
Data: n-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the absolute value of a number.
|
|
|
|
Class Handler: class:word | Namespace: n | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
n:dec
|
|
|
|
Data: n-m
|
|
Addr: -
|
|
Float: -
|
|
|
|
Decrement n by one.
|
|
|
|
Class Handler: class:word | Namespace: n | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
n:inc
|
|
|
|
Data: n-m
|
|
Addr: -
|
|
Float: -
|
|
|
|
Increment n by one.
|
|
|
|
Class Handler: class:word | Namespace: n | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
n:max
|
|
|
|
Data: mn-o
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the greater of two values.
|
|
|
|
Class Handler: class:word | Namespace: n | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
n:min
|
|
|
|
Data: mn-o
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the lesser of two values.
|
|
|
|
Class Handler: class:word | Namespace: n | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
n:negate
|
|
|
|
Data: n-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Invert the sign of a number.
|
|
|
|
Class Handler: class:word | Namespace: n | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
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
|
|
|
|
----------------------------------------------------------------
|
|
|
|
pop
|
|
|
|
Data: -n
|
|
Addr: n-
|
|
Float: -
|
|
|
|
Move a value from the return stack to the data stack.
|
|
|
|
Class Handler: {n/a} | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix:!
|
|
|
|
Data: ns-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Store a value into a variable.
|
|
|
|
Interpret Time:
|
|
Store a value into the named variable.
|
|
|
|
Compile Time:
|
|
Compile the code to store a value into a named variable.
|
|
|
|
Class Handler: {n/a} | Namespace: prefix | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix:#
|
|
|
|
Data: s-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Process token as a number.
|
|
|
|
Interpret Time:
|
|
Convert the string into a number and leave on the stack.
|
|
|
|
Compile Time:
|
|
Convert the string into a number and compile into the current definition as a literal.
|
|
|
|
Class Handler: {n/a} | Namespace: prefix | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix:$
|
|
|
|
Data: s-c
|
|
Addr: -
|
|
Float: -
|
|
|
|
Process token as an ASCII character.
|
|
|
|
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: {n/a} | 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: {n/a} | Namespace: prefix | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix:'
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Process token as a string.
|
|
|
|
Interpret Time:
|
|
Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space.
|
|
|
|
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.
|
|
|
|
Class Handler: {n/a} | Namespace: prefix | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix:(
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Process token as a comment.
|
|
|
|
Interpret Time:
|
|
Discard the string.
|
|
|
|
Compile Time:
|
|
Discard the string.
|
|
|
|
Class Handler: {n/a} | Namespace: prefix | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix:.
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -F
|
|
|
|
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.
|
|
|
|
Class Handler: {n/a} | Namespace: prefix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix::
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Process token as a new definition.
|
|
|
|
Interpret Time:
|
|
Create a header pointing to `here` with the provided string as the name. Sets class to `class:word`.
|
|
|
|
Class Handler: @Compiler | Namespace: prefix | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix:@
|
|
|
|
Data: s-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Fetch from a stored variable.
|
|
|
|
Interpret Time:
|
|
Fetch a value from a named variable.
|
|
|
|
Compile Time:
|
|
Compile the code to fetch a value from a named variable into the current definition.
|
|
|
|
Class Handler: {n/a} | Namespace: prefix | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
prefix:`
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Process token as a bytecode.
|
|
|
|
Interpret Time:
|
|
Discard the string.
|
|
|
|
Compile Time:
|
|
Convert the string to a number and use `,` to inline it into the current definition.
|
|
|
|
Class Handler: {n/a} | Namespace: prefix | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
push
|
|
|
|
Data: n-
|
|
Addr: -n
|
|
Float: -
|
|
|
|
Move a value from the data stack to the return stack.
|
|
|
|
Class Handler: {n/a} | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
putc
|
|
|
|
Data: c-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Display a single character.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
putf
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: F-
|
|
|
|
Display a floating point number.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
putn
|
|
|
|
Data: n-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Display a number.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
puts
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Display a string.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
r
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Lookup a reference by name and inline its pointer to the current assembly segment.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
reclass
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Change the class handler of the most recently defined word to the specified one.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
reorder
|
|
|
|
Data: ...ss-?
|
|
Addr: -
|
|
Float: -
|
|
|
|
Restructure the order of items on the stack.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
repeat
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Begin an unconditional loop.
|
|
|
|
Class Handler: class:macro | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
reset
|
|
|
|
Data: ...-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Remove all items from the stack.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
rot
|
|
|
|
Data: abc-bca
|
|
Addr: -
|
|
Float: -
|
|
|
|
Rotate the top three values.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s,
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Compile the code needed to push a string pointer to the stack and inline the string data into the current definition.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:ASCII-LETTERS
|
|
|
|
Data: -s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Returns a string of the ASCII letters (upper and lower case)
|
|
|
|
Class Handler: class:data | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:ASCII-LOWERCASE
|
|
|
|
Data: -s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Returns a string of the ASCII letters in lowercase
|
|
|
|
Class Handler: class:data | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:ASCII-UPPERCASE
|
|
|
|
Data: -s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Returns a string of the ASCII letters in uppercase
|
|
|
|
Class Handler: class:data | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:DIGITS
|
|
|
|
Data: -s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Return a string of characters recognized as numeric digits.
|
|
|
|
Class Handler: class:data | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:PUNCTUATION
|
|
|
|
Data: -s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Return a string of characters recognized as punctuation.
|
|
|
|
Class Handler: class:data | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:WHITESPACE
|
|
|
|
Data: -s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Constant. Returns a string of characters recognized as whitespace.
|
|
|
|
Class Handler: class:data | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:append
|
|
|
|
Data: ss-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return a new string consisting of s1 followed by s2.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:case
|
|
|
|
Data: sSq- || sSq-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
If the `s` matches `S`, discard `s` and run the quote before exiting the caller. If they do not match, discard the quote and leave `s` on the stack.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:chop
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Remove the last character from a string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:const
|
|
|
|
Data: ss-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Create a constant named s2, returning a pointer to s1. This will use `s:keep` to preserve the original string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:contains-char?
|
|
|
|
Data: sc-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return `TRUE` if the character is present in the string or `FALSE` otherwise.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:contains-string?
|
|
|
|
Data: ss-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return `TRUE` if the second string is present in the first string or `FALSE` otherwise.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:copy
|
|
|
|
Data: sa-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Copy a string (s) to a destination (a). This will include the terminator character when copying.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:empty
|
|
|
|
Data: -s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return an empty string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:eq?
|
|
|
|
Data: ss-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Compare two strings for equality. Return `TRUE` if identical or `FALSE` if not.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:evaluate
|
|
|
|
Data: s-?
|
|
Addr: -
|
|
Float: -
|
|
|
|
Evaluate string as if it was typed into the interpreter.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:filter
|
|
|
|
Data: sq-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execite the quote once for each value in the string. If the quote returns `TRUE`, append the value into a new string. If `FALSE` the value will be discarded.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:for-each
|
|
|
|
Data: sq-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute the quote once for each value in the string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:hash
|
|
|
|
Data: s-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Calculate a hash value for a string. This uses the djb2 algorithim.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:index-of
|
|
|
|
Data: sc-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the location of the first instance of the specified character in the string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:index-of-string
|
|
|
|
Data: ss-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the location of the first instance of the specified substring (s2) in the string (s1). Returns -1 if not found.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:keep
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Store a string into the heap and return a pointer to the start of it.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:left
|
|
|
|
Data: sn-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return a new string containing the first `n` characters from the source string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:length
|
|
|
|
Data: s-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the number of characters in a string, excluding the NULL terminator.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:map
|
|
|
|
Data: sq-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute the specified quote once for each character in the string. Builds a new string from the return value of the quote. The quote should return only one value.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:prepend
|
|
|
|
Data: ss-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return a new string consisting of s2 followed by s1.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:replace
|
|
|
|
Data: sss-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Replace the first instance of s2 in s1 with s3.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:reverse
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Reverse the order of ASCII characters in a string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:right
|
|
|
|
Data: sn-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return a new string containing the specified number of characters from the right side of the string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:skip
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Internal helper function used to skip over a string in a definition.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:split
|
|
|
|
Data: sc-ss
|
|
Addr: -
|
|
Float: -
|
|
|
|
Split a string on the first occurrance of the specified character.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:split-on-string
|
|
|
|
Data: ss-ss
|
|
Addr: -
|
|
Float: -
|
|
|
|
Split a string on the first occurrance of the specified string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:substr
|
|
|
|
Data: sfl-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Extract a substring from the specified string. This will take the characters starting at `f` and extend `l` characters in length.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:temp
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Move a string into the temporary string buffers.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:to-float
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -F
|
|
|
|
Convert a string representation into a floating point value.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:to-lower
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Convert uppercase ASCII characters in a string to lowercase.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:to-number
|
|
|
|
Data: s-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Convert a string to a number.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:to-upper
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Convert lowercase ASCII characters in a string to uppercase.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:trim
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Trim leading and trailing whitespace from a string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:trim-left
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Trim leading whitespace from a string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:trim-right
|
|
|
|
Data: s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Trim trailing whitespace from a string.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
s:with-format
|
|
|
|
Data: ...s-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Construct a new string using the template passed and items from the stack.
|
|
|
|
Class Handler: class:word | Namespace: s | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:contains-string?
|
|
|
|
Data: sa-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return `TRUE` if the string value is in the set or`FALSE` otherwise.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:contains?
|
|
|
|
Data: na-f
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return `TRUE` if the value is in the set or `FALSE` otherwise.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:dup
|
|
|
|
Data: a-b
|
|
Addr: -
|
|
Float: -
|
|
|
|
Make a copy of a set. Return the address of the copy.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:filter
|
|
|
|
Data: aq-b
|
|
Addr: -
|
|
Float: -
|
|
|
|
For each item in the initial set, run the specified quote. If the quote returns `TRUE`, copy the item into a new set. If `FALSE`, discard it. Returns a pointer to the new set.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:for-each
|
|
|
|
Data: aq-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute the quote once for each item in the set.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:from-results
|
|
|
|
Data: q-a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute quote. Return a new set containing the values the quote leaves on the stack.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:from-string
|
|
|
|
Data: s-a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Create a new set with the characters in the source string.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:length
|
|
|
|
Data: a-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the length of a set.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:map
|
|
|
|
Data: aq-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute quote once for each item in the set. Constructs a new set from the value returned by the quote.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:nth
|
|
|
|
Data: an-b
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the actual address of the nth item in the set.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:reduce
|
|
|
|
Data: pnq-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Takes a set, a starting value, and a quote. This will apply the quote to each item in the set; the quote should consume two values and return one.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
set:reverse
|
|
|
|
Data: a-b
|
|
Addr: -
|
|
Float: -
|
|
|
|
Reverse the order of items in a set. This will return a new set.
|
|
|
|
Class Handler: class:word | Namespace: set | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
shift
|
|
|
|
Data: mn-o
|
|
Addr: -
|
|
Float: -
|
|
|
|
Peform a bitwise shift of m by n bits. If n is positive, shift right. If negative, the shift will be to the left.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
sip
|
|
|
|
Data: nq-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Run quote. After execution completes, put a copy of n back on top of the stack.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
sp
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Display a space (`ASCII:SPACE`)
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
store
|
|
|
|
Data: na-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Store a value into the specified address.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
store-next
|
|
|
|
Data: na-a
|
|
Addr: -
|
|
Float: -
|
|
|
|
Store a value into the specified address and return the next address.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
swap
|
|
|
|
Data: nm-mn
|
|
Addr: -
|
|
Float: -
|
|
|
|
Exchange the position of the top two items on the stack
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
sys:argc
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the number of arguments passed to the program.
|
|
|
|
Class Handler: class:word | Namespace: sys | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
sys:argv
|
|
|
|
Data: n-s
|
|
Addr: -
|
|
Float: -
|
|
|
|
Given an argument number, return the argument as a string.
|
|
|
|
Class Handler: class:word | Namespace: sys | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
tab
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Display a tab (`ASCII:HT`)
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
times
|
|
|
|
Data: nq-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Run the specified quote the specified number of times.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
tors
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Get a copy of the top item on the return stack.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
tri
|
|
|
|
Data: xqqq-?
|
|
Addr: -
|
|
Float: -
|
|
|
|
Apply q1 against x, then q2 against a copy of x, and finally q3 against another copy of x.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
tri*
|
|
|
|
Data: xyzqqq-?
|
|
Addr: -
|
|
Float: -
|
|
|
|
Apply q1 against x, q2 against y, and q3 against z.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
tri@
|
|
|
|
Data: xyzq-?
|
|
Addr: -
|
|
Float: -
|
|
|
|
Apply q against x, then against y, and finally against z.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
tuck
|
|
|
|
Data: nm-mnm
|
|
Addr: -
|
|
Float: -
|
|
|
|
Put a copy of the top item on the stack under the second one.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:chdir
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Change the current working directory to the specified one.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:exec0
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute a process by running the application specified by s.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:exec1
|
|
|
|
Data: ss-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute a process by running the application specified by s1. Pass s2 as an argument.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:exec2
|
|
|
|
Data: sss-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute a process by running the application specified by s1. Pass s2 and s3 as arguments.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:exec3
|
|
|
|
Data: ssss-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute a process by running the application specified by s1. Pass s2, s3, and s4 as arguments.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:exit
|
|
|
|
Data: n-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Exit the current process, returning the specified return code.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:fork
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Fork the current process. Returns a PID.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:getenv
|
|
|
|
Data: sa-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Get an environment variable. Provide the name and an address to store it in.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:getpid
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Return the PID of the current process.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:kill
|
|
|
|
Data: nn-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Terminates a process. Takes a process and a signal to send.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:pclose
|
|
|
|
Data: n-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Close a pipe.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:popen
|
|
|
|
Data: sn-n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Open a pipe. Takes a command to run, and a file mode (`file:R` or `file:W`; `file:R+` may work on some systems). Returns a file ID usable with words in the `file:` namespace.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:putenv
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Takes a string in the form `name=value` and sets an environment variable named `name` to `value`.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:system
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Runs another application using the system shell and returns after execution is completed.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:wait
|
|
|
|
Data: -n
|
|
Addr: -
|
|
Float: -
|
|
|
|
Waits for a child process to complete. This maps to the wait() system call.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
unix:write
|
|
|
|
Data: sh-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Write a string to the specified file handle.
|
|
|
|
Class Handler: class:word | Namespace: unix | Interface Layer: rre
|
|
|
|
----------------------------------------------------------------
|
|
|
|
until
|
|
|
|
Data: q-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute quote repeatedly while the quote returns a value of `FALSE`. The quote must return a flag of either `TRUE` or `FALSE` to be used with this.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:dec
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Decrement the value stored at the specified address by 1.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:dec-by
|
|
|
|
Data: na-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Decrement the value stored at the specified address by the specified value.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:inc
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Increment the value stored at the specified address by 1.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:inc-by
|
|
|
|
Data: na-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Increment the value stored at the specified address by the specified value.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:limit
|
|
|
|
Data: alu-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Fetch the value stored at the address, then run `n:limit` against it, using the specified lower and upper bounds. Then store the resulting value back to the original address.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:off
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Set a variable to 0.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:on
|
|
|
|
Data: a-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Set a variable to -1.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:preserve
|
|
|
|
Data: aq-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Make a copy of the value at the address, then run the quote. Once the quote completes, restore the address to the specified value.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
v:update-using
|
|
|
|
Data: aq-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Fetch a value from the specified address, then run the quotation with this value on the stack. Afterwards, store the returned value at the original address.
|
|
|
|
Class Handler: class:word | Namespace: v | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
var
|
|
|
|
Data: s-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Create a variable. The variable is initialized to 0.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
var<n>
|
|
|
|
Data: ns-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Create a variable with the specified initial value.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
while
|
|
|
|
Data: q-
|
|
Addr: -
|
|
Float: -
|
|
|
|
Execute quote repeatedly while the quote returns a value of `TRUE`. The quote must return a flag of either `TRUE` or `FALSE` to be used with this.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
words
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Display a list of all named items in the `Dictionary`.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
xor
|
|
|
|
Data: mn-o
|
|
Addr: -
|
|
Float: -
|
|
|
|
Perform a bitwise XOR operation.
|
|
|
|
Class Handler: class:primitive | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
{{
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
Begin a lexically scoped area.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
}as
|
|
|
|
Data: f-
|
|
Addr: -
|
|
Float: -
|
|
|
|
End an assembly section
|
|
|
|
Class Handler: class:macro | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|
|
}}
|
|
|
|
Data: -
|
|
Addr: -
|
|
Float: -
|
|
|
|
End a lexically scoped area.
|
|
|
|
Class Handler: class:word | Namespace: global | Interface Layer: all
|
|
|
|
----------------------------------------------------------------
|
|
|