, Data: n- Addr: - Float: - Store the specified value into the memory at `here` and increment `Heap` by 1. Class: class:word | Namespace: global | Interface Layer: all Example #1: $a , $b , $c , #0 , ---reveal--- Data: - Addr: - Float: - Switch to the exposed (public) portion of a lexical namespace. Class: class:word | Namespace: global | Interface Layer: all ; Data: - Addr: - Float: - End the current definition. Class: class:macro | Namespace: global | Interface Layer: all [ Data: - Addr: - Float: - Begin a quotation. Class: class:macro | Namespace: global | Interface Layer: all ] Data: - Addr: - Float: - End a quotation. Class: class:macro | Namespace: global | Interface Layer: all abort Data: - Addr: - Float: - Abort execution. Class: class:macro | Namespace: global | Interface Layer: rre again Data: - Addr: - Float: - Close an unconditional loop. Branches back to the prior `repeat`. Class: class:macro | 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: class:word | Namespace: global | Interface Layer: all choose Data: fqq- Addr: - Float: - Execute q1 if the flag is true (-1) or q2 if the flag is false (0). Only these flags are valid when using `choose`; passing other values as flags will result in memory corruption. Class: class:word | Namespace: global | Interface Layer: all const Data: ns- Addr: - Float: - Create a constant returning the specified value. Class: class:word | Namespace: global | Interface Layer: all d:create Data: s- Addr: - Float: - Hook. Create a new dictionary header named the specified string. The new header will point to `here` and have a class of `class:data`. Class: 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: class:word | Namespace: d | Interface Layer: all d:name Data: d-s Addr: - Float: - Given a dictionary header, return the name field. Class: class:word | Namespace: d | Interface Layer: all depth Data: -n Addr: - Float: - Return the number of items on the stack. Class: 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: class:word | Namespace: global | Interface Layer: all drop Data: n- Addr: - Float: - Discard the top value on the stack. Class: class:primitive | Namespace: global | Interface Layer: all dump-stack Data: - Addr: - Float: - Display the items on the data stack. Class: class:word | Namespace: global | Interface Layer: all dup Data: n-nn Addr: - Float: - Duplicate the top item on the stack. Class: class:primitive | Namespace: global | Interface Layer: all e:-INF Data: -e Addr: - Float: - Constant. Negative infinity. For encoded floating-point values. Class: class:word | Namespace: e | Interface Layer: rre e:INF Data: -e Addr: - Float: - Constant. Infinity. For encoded floating-point values. Class: class:word | Namespace: e | Interface Layer: rre e:MAX Data: -e Addr: - Float: - Constant. Maximum value. For encoded floating-point values. Class: class:word | Namespace: e | Interface Layer: rre e:MIN Data: -e Addr: - Float: - Constant. Minimum value. For encoded floating-point values. Class: class:word | Namespace: e | Interface Layer: rre e:NAN Data: -e Addr: - Float: - Constant. Not a Number. For encoded floating-point values. Class: class:word | Namespace: e | Interface Layer: rre e:clip Data: e-E Addr: - Float: - Constrain the encoded value to the allowable range. Class: class:word | Namespace: e | Interface Layer: rre e:to-f Data: e- Addr: - Float: -n Decode an encoded floating-point value. Class: class:word | Namespace: e | Interface Layer: rre eq? Data: nn-f Addr: - Float: - Compare two values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise. Class: class:primitive | Namespace: global | Interface Layer: all Example #1: #1 #2 eq? $a $b eq? f:* Data: - Addr: - Float: FF-F Multiply two floating-point numbers, returning the result. Class: class:word | Namespace: f | Interface Layer: rre Example #1: .3.1415 .22 f:* f:+ Data: - Addr: - Float: FF-F Add two floating-point numbers, returning the result. Class: class:word | Namespace: f | Interface Layer: rre Example #1: .3.1 .22 f:+ f:- Data: - Addr: - Float: FF-F Subtract F2 from F1 returning the result. Class: class:word | Namespace: f | Interface Layer: rre Example #1: .22.3 .0.12 f:- f:-INF Data: - Addr: - Float: -n Return a value corresponding to negative infinity Class: class:word | Namespace: f | Interface Layer: rre f:-inf? Data: -f Addr: - Float: F- Return `TRUE` if floating-point value is -INF or `FALSE` otherwise. Class: class:word | Namespace: f | Interface Layer: rre f:/ Data: - Addr: - Float: FF-F Divide floating-point value F1 by F2. Class: class:word | Namespace: f | Interface Layer: rre f:E1 Data: - Addr: - Float: -f Hook. Return a constant used as the scaling factor for the e: words. Class: class:word | Namespace: f | Interface Layer: rre f:INF Data: - Addr: - Float: -n Return a value corresponding to positive infinity Class: class:word | Namespace: f | Interface Layer: rre f:NAN Data: - Addr: - Float: -n Return a value corresponding to NaN Class: class:word | Namespace: f | Interface Layer: rre f:abs Data: - Addr: - Float: F-F Return the absolute value for a floating-point value. Class: class:word | Namespace: f | Interface Layer: rre f:adepth Data: -n Addr: - Float: - Return the number of items on the alternate floating-point stack. Class: class:word | Namespace: f | Interface Layer: rre f:depth Data: -n Addr: - Float: - Return the number of items on the floating-point stack. Class: class:word | Namespace: f | Interface Layer: rre f:drop Data: - Addr: - Float: F- Discard the top item on the floating-point stack. Class: class:word | Namespace: f | Interface Layer: rre f:dump-astack Data: - Addr: - Float: - Display the items on the alternate floating-point stack. Class: class:word | Namespace: f | Interface Layer: rre f:dump-stack Data: - Addr: - Float: - Display the items on the floating-point stack. Class: class:word | Namespace: f | Interface Layer: rre f:dup Data: - Addr: - Float: F-FF Duplicate the top item on the floating-point stack. Class: class:word | Namespace: f | Interface Layer: rre f:floor Data: - Addr: - Float: F-F Perform a mathematical floor operation on the floating-point value. Class: class:word | Namespace: f | Interface Layer: rre f:gt? Data: -f Addr: - Float: FF- Compare two floating-point values for greater than. Class: class:word | Namespace: f | Interface Layer: rre f:inf? Data: -f Addr: - Float: F- Return `TRUE` if floating-point value is INF or `FALSE` otherwise. Class: class:word | Namespace: f | Interface Layer: rre f:nan? Data: -f Addr: - Float: F- Return `TRUE` if floating-point value is NaN or `FALSE` otherwise. Class: 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: class:word | Namespace: f | Interface Layer: rre f:pop Data: - Addr: - Float: -F Pop a floating-point value from the alternate stack. Class: class:word | Namespace: f | Interface Layer: rre f:push Data: - Addr: - Float: F- Push a floating-point value to an alternative stack. Class: class:word | Namespace: f | Interface Layer: rre f:put Data: - Addr: - Float: F- Display a floating-point number. Class: class:word | Namespace: global | Interface Layer: rre f:round Data: - Addr: - Float: f-f Round a floating-point value. Class: class:word | Namespace: f | Interface Layer: rre f:sign Data: -n Addr: - Float: F- Return 1 if the floating-point value is positive or -1 if it is negative. Class: class:word | Namespace: f | Interface Layer: rre Example #1: .3.1415 f:sign f:signed-sqrt Data: - Addr: - Float: F-F Return the square root of a floating-point number. Class: class:word | Namespace: f | Interface Layer: rre f:sqrt Data: - Addr: - Float: F-F Return the square root of a floating-point number. Class: 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: class:word | Namespace: f | Interface Layer: rre f:to-e Data: -e Addr: - Float: n- Encode the floating-point value to an integer. Class: class:word | Namespace: f | Interface Layer: rre f:to-number Data: -n Addr: - Float: F- Convert a floating-point value into a number. Class: class:word | Namespace: f | Interface Layer: rre fetch Data: a-n Addr: - Float: - Fetch the value stored at the specified address. Class: class:primitive | Namespace: global | Interface Layer: all Example #1: &Version fetch fetch-next Data: a-an Addr: - Float: - Fetch the value stored at the specified address. Returns the next address and the value. Class: class:word | Namespace: global | Interface Layer: all hook Data: - Addr: - Float: - Add a hook point into the current word. This should only be used as the first word in a definition. Class: class:macro | Namespace: global | Interface Layer: global Example #1: :foo hook ; Example #2: :bar hook (default_action: n:square n:put nl ; if Data: fq- Addr: - Float: - Execute the quote if the flag is `TRUE`. Class: class:word | Namespace: global | Interface Layer: all if; Data: fq- Addr: - Float: - Execute the quotation if the flag is `TRUE`. If true, also exit the word. Class: 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: class:word | Namespace: n | Interface Layer: all n:MAX Data: -n Addr: - Float: - Return the maximum value that will fit in a cell. Class: class:word | Namespace: n | Interface Layer: all n:MIN Data: -n Addr: - Float: - Return the minimum value that will fit in a cell. Class: 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: class:word | Namespace: n | Interface Layer: all Example #1: #3 #1 #100 n:between? $q $a $b n:between? n:dec Data: n-m Addr: - Float: - Decrement n by one. Class: class:word | Namespace: n | Interface Layer: all Example #1: #100 n:dec n:inc Data: n-m Addr: - Float: - Increment n by one. Class: class:word | Namespace: n | Interface Layer: all Example #1: #100 n:inc 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: class:word | Namespace: n | Interface Layer: all Example #1: #-10 #5 #8 n:limit #10 #1 #15 n:limit n:negate Data: n-n Addr: - Float: - Invert the sign of a number. Class: class:word | Namespace: n | Interface Layer: rre Example #1: #10 n:negate #-10 n:negate n:to-float Data: n- Addr: - Float: -F Convert a number into a floating-point value. Class: class:word | Namespace: n | Interface Layer: rre n:zero? Data: n-f Addr: - Float: - Return `TRUE` if number is zero, or `FALSE` otherwise. Class: class:word | Namespace: n | Interface Layer: all nl Data: - Addr: - Float: - Display a newline. Class: 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: class:macro | Namespace: global | Interface Layer: all repeat Data: - Addr: - Float: - Begin an unconditional loop. Class: class:macro | Namespace: global | Interface Layer: all reset Data: ...- Addr: - Float: - Remove all items from the stack. Class: class:word | Namespace: global | Interface Layer: all rot Data: abc-bca Addr: - Float: - Rotate the top three values. Class: class:word | Namespace: global | Interface Layer: all s:prepend Data: ss-s Addr: - Float: - Return a new string consisting of s2 followed by s1. Class: class:word | Namespace: s | Interface Layer: all s:put Data: s- Addr: - Float: - Display a string. Class: class:word | Namespace: global | Interface Layer: all sip Data: nq(?n-?)-n Addr: - Float: - Run quote. After execution completes, put a copy of n back on top of the stack. Class: class:word | Namespace: global | Interface Layer: all sp Data: - Addr: - Float: - Display a space (`ASCII:SPACE`) Class: class:word | Namespace: global | Interface Layer: all Example #1: :spaces (n-) [ sp ] times ; #12 spaces store Data: na- Addr: - Float: - Store a value into the specified address. Class: class:primitive | Namespace: global | Interface Layer: all Example #1: 'Base var #10 &Base store store-next Data: na-a Addr: - Float: - Store a value into the specified address and return the next address. Class: 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: class:primitive | Namespace: global | Interface Layer: all times Data: nq- Addr: - Float: - Run the specified quote the specified number of times. Class: class:word | Namespace: global | Interface Layer: all Example #1: #12 [ $- c:put ] times var Data: s- Addr: - Float: - Create a variable. The variable is initialized to 0. Class: class:word | Namespace: global | Interface Layer: all Example #1: 'Base var {{ Data: - Addr: - Float: - Begin a lexically scoped area. Class: class:word | Namespace: global | Interface Layer: all }} Data: - Addr: - Float: - End a lexically scoped area. This will hide any headers between `{{` and `---reveal---`, leaving only headers between `---reveal---` and the `}}` visible. Class: class:word | Namespace: global | Interface Layer: all sigil:! 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: class:macro | Namespace: sigil | Interface Layer: all sigil:# 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: class:macro | Namespace: sigil | Interface Layer: all sigil:' 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: class:macro | Namespace: sigil | Interface Layer: all sigil:( Data: s- Addr: - Float: - Process token as a comment. Interpret Time: Discard the string. Compile Time: Discard the string. Class: class:macro | Namespace: sigil | Interface Layer: all sigil:. 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: class:macro | Namespace: sigil | Interface Layer: rre sigil:: Data: s- Addr: - Float: - Hook. 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: class:macro | Namespace: sigil | Interface Layer: all