Glossary: ) Data Stack: - Address Stack: - Ending for comments or visual grouping. Provided as an aid for readability purposes. Example: (Remove_whitespace: [ #32 eq? ] s:filter ) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: * Data Stack: "- Address Stack: - Parse ahead for a load block name. Convert this into a form of "(LOAD:name)", then pass this to +needs to locate and run. It will construct a quotation from the contents of the load block, then run this. See *AsteriskLoader in the manual for more detail on this. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ---reveal--- Data Stack: - Address Stack: - Within lexical scoped area, switch to global scope area. See *LexicalScope in the manual for more details on this. It is used with +{{ and +}} Type: word Defined In: rom ---------------------------------------------------------------- Glossary: -eq? Data Stack: nn-f Address Stack: - Compare two numeric values for inequality. Returns true if the values are not equal, or false if they are equal. Example: #100 #200 -eq? [ 'Not_equal! s:put ] if Type: word Defined In: rom ---------------------------------------------------------------- Glossary: -if Data Stack: fq- Address Stack: - Execute the provided *quotation if the passed flag is false. If the flag is true, it just discards the pointer. Example: #100 #200 eq? [ 'Values_do_not_match s:put ] -if Type: word Defined In: rom ---------------------------------------------------------------- Glossary: . Data Stack: "- Address Stack: - Used in a block, this will read and discard the next 62 characters. It's used to add full line comments. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: .s Data Stack: - Address Stack: - Display the values on the data stack. This only shows the values as numbers. The values are displayed from left to right, with the rightmost value being the top of the stack. Example: #12 #33 #-15 .s Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: 0 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 0 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 1 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 1 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 10 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 10 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 11 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 11 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 12 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 12 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 13 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 13 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 14 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 14 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 15 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 15 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 2 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 2 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 3 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 3 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 4 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 4 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 5 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 5 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 6 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 6 in the current block with the Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 7 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 7 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 8 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 8 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: 9 Data Stack: "- Address Stack: - A part of the *BasicEditor, this parses until the end of the line, then replaces line 9 in the current block with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: ; Data Stack: - Address Stack: - Ends compilation of a colon definition started with +sigil:: This will lay down the termination value and set +Compiler to false. ; is one of the three immediate words in Konilo. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: ?jump Data Stack: fq- Address Stack: - Primarily intended for internal use, this will conditionally branch to the provided address if the flag is true. If false, it just discards the pointer. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: BaseBlock Data Stack: - Address Stack: - This is a variable that stores a block number (typically zero) which is added to the block numbers used by +block:load and +block:save When used with +Blocks it can partition a large set of blocks into smaller sets. Type: variable Defined In: rom ---------------------------------------------------------------- Glossary: Block Data Stack: - Address Stack: - This variable tracks the current block for the *BasicEditor. It's generally set by +edit or +set Type: variable Defined In: rom ---------------------------------------------------------------- Glossary: Blocks Data Stack: - Address Stack: - This variable holds the total number of blocks available in your system. You can use this with +BaseBlock to restrict access to a subset of the complete block store. Type: variable Defined In: rom ---------------------------------------------------------------- Glossary: Compiler Data Stack: - Address Stack: - This variable holds the current compiler state. It's set to true when the compiler is active, and false otherwise. In most cases this doesn't need to be manually altered; +sigil:: +; +[ and +] update it as needed. If writing extensions that need to lay down data or custom code, you may need to check this to choosthe correct path for your words. Type: variable Defined In: rom ---------------------------------------------------------------- Glossary: Dictionary Data Stack: - Address Stack: - This variable holds a pointer to the most recent dictionary header. Type: variable Defined In: rom ---------------------------------------------------------------- Glossary: FALSE Data Stack: -f Address Stack: - Return a false flag. This will always return 0. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: Free Data Stack: - Address Stack: - This variable holds a pointer to the next free memory address. It is altered by a variety of words, including +comma +allot and +gc . You can read the contents by running +here . Type: variable Defined In: rom ---------------------------------------------------------------- Glossary: I Data Stack: -n Address Stack: - For a loop created with +indexed-times, this will return the current loop index. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: J Data Stack: -n Address Stack: - For a nested loop created with +indexed-times, this will return the loop index of the parent loop. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: K Data Stack: -n Address Stack: - For a nested loop created with +indexed-times, this will return the loop index of the grandparent loop. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: Sigils Data Stack: - Address Stack: - This is a table in memory that stores pointers to each of the defined sigil handlers. In most cases you should use the sigil: vocabulary to access these. Type: data Defined In: rom ---------------------------------------------------------------- Glossary: TRUE Data Stack: -f Address Stack: - Return a true flag. While all non-zero values can be viewed as true, the flag returned by this will always be -1. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: [ Data Stack: - Address Stack: - Begin a *quotation. Sets +Compiler to true. [ is one of the three immediate words in Konilo. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: ] Data Stack: -q Address Stack: - End a *quotation. Sets +Compiler to false. ] is one of the three immediate words in Konilo. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:-eq? Data Stack: ab-f Address Stack: - Compare two arrays for inequality. If the differ, this will return a true flag. If they are identical, it returns false. Note that this compares them strictly by value. If the values are pointers (e.g., to strings), it only compares the pointers and not the values pointed to. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:append Data Stack: ab-a Address Stack: - Create a new array from the contents of array a followed by the contents of array b. This is similar to +a:prepend Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:behead Data Stack: a-a Address Stack: - Remove the first item from an array, returning a new array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:chop Data Stack: a-a Address Stack: - Remove the last item from an array, returning a new array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:contains? Data Stack: an-f Address Stack: - Check to see if an array contains a provided value. If found, returns true. False is returned if the value is not found. The comparisons are strictly numeric; for pointers, only the actual addresses are compared. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:copy Data Stack: ap- Address Stack: - Copy the array to memory at the provided pointer. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:dup Data Stack: a-a Address Stack: - Make a copy of an array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:eq? Data Stack: ab-f Address Stack: - Compare two arrays for equality. Returns a true flag if they are identical, or false if they are not. Note that this compares them strictly by value. If the values are pointers (e.g., to strings), it only compares the pointers and not the values pointed to. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:fetch Data Stack: an-v Address Stack: - Fetch a value from an array. Provide a pointer to the array and the index into the array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:filter Data Stack: aq-a Address Stack: - Runs the provided quotation against each value in the array. The quotation consumes the value and returns a flag. If true, the value is copied into a new array. If false, the value is is discarded. Example: 'Hello_World! [ c:vowel? ] s:filter Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:first Data Stack: a-n Address Stack: - Return the first value in the array. Example: 'Hello a:first (returns_$H) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:for-each Data Stack: aq- Address Stack: - Runs the provided quotation against each value in the array. The quotation will receive each value and can then consume or transform it as desired. Example: 'Hello_Dusk [ c:put ] a:for-each Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:hash Data Stack: a-n Address Stack: - Return a hash for the values in the array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:index Data Stack: an-n Address Stack: - Return the index of the first occurrence of value n in the array. This will return invalid data if the value is not in the array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:indices Data Stack: an-a Address Stack: - Create a new array with the index of each occurrence of a value in the array. The value in this array will be invalid if the value is not contained in the array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:last Data Stack: a-n Address Stack: - Return the last value in the provided array. Example: 'Hello a:last (returns_$o) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:left Data Stack: an-a Address Stack: - Given an array and a length, create a new array with the specified number of values. The values are taken from the left (or starting) side of the array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:length Data Stack: a-n Address Stack: - Return the number of values in the array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:make Data Stack: ...n-a Address Stack: - Using values from the stack, create a new array with n values. The array will be created at +here Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:make/temp Data Stack: ...n-a Address Stack: - Using values from the stack, create a new array with n values. The array will be created in the temporary array area. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:map Data Stack: aq-a Address Stack: - Execute the quote once for each value in the array. The value is pushed to the stack before the quotation is called. The quote must return a new value. The new values will be stored in a new array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:middle Data Stack: afn-a Address Stack: - Given an array, a starting index (f) and a length (n), return a new array with the values taken from the indicated subset. Example: '0123456789 #2 #3 a:middle (returns_'234) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:new Data Stack: ns- Address Stack: - Create a new named array (name is s) with a provided size (n). The array will not have values set, but should be manually initialized before use. Example: #100 'HundredItems a:new Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: a:prepend Data Stack: ab-a Address Stack: - Given two arrays, construct a new array with the contents of array b followed by the contents of array a. This is similar to +a:append Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:reduce Data Stack: anq-n Address Stack: - Takes an array, a starting value, and a quote. This will run the quote against each item in the array; the quote should consume two values and return one Example: #1 #2 #3 #4 #4 a:make/temp #0 [ n:add ] a:reduce (sum_the_values_in_the_array) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:reverse Data Stack: a-a Address Stack: - Given an array, return a new array with the values in the opposite order. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:right Data Stack: an-a Address Stack: - Given an array and a length, create a new array with the specified number of values. The values are taken from the right (or ending) side of the array. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:store Data Stack: van- Address Stack: - Store value v into array at the specified index. Example: $e 'Hillo #1 a:store Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:temp Data Stack: a-a Address Stack: - Make a copy of the provided array in the temporary array space. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: a:th Data Stack: an-p Address Stack: - Given an array and an index, return a pointer to the memory location the pair point to. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: allot Data Stack: n- Address Stack: - Allocate n cells of memory, starting at +here . You can also pass a negative value to free memory, again starting at +here Type: word Defined In: rom ---------------------------------------------------------------- Glossary: and Data Stack: nn-n Address Stack: - Perform a bitwise AND between two values. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: assemble:opcode Data Stack: s-n Address Stack: - Given a string containing an ilo instruction bundle, decode the instructions and construct the value for a cell containing them. This is normally use internally, as part of the runtime pali assembler. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: b:fetch Data Stack: a-b Address Stack: - Given a byte address a, fetch the byte value stored. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: b:pack Data Stack: bbbb-n Address Stack: - Given four byte values, pack them into a single cell. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: b:store Data Stack: ba- Address Stack: - Store byte b into memory at byte address a. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: b:to-byte-address Data Stack: a-a Address Stack: - Given a byte address, return the actual memory address that contains it. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: b:unpack Data Stack: n-bbbb Address Stack: - Given a value, break into into four byte values. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bg:black Data Stack: - Address Stack: - A part of (termina), this sets the background color to black. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bg:blue Data Stack: - Address Stack: - A part of (termina), this sets the background color to blue. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bg:cyan Data Stack: - Address Stack: - A part of (termina), this sets the background color to cyan. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bg:green Data Stack: - Address Stack: - A part of (termina), this sets the background color to green. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bg:magenta Data Stack: - Address Stack: - A part of (termina), this sets the background color to magenta. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bg:red Data Stack: - Address Stack: - A part of (termina), this sets the background color to red. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bg:white Data Stack: - Address Stack: - A part of (termina), this sets the background color to white. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bg:yellow Data Stack: - Address Stack: - A part of (termina), this sets the background color to yellow. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bi Data Stack: nqq-? Address Stack: - Remove the second quote from the stack and run the first. Place a copy of the value (n) on the stack and run the second quote. Example: #10 [ n:inc ] [ n:dec ] bi (returns_#11_#9) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: bi* Data Stack: nmqq-? Address Stack: - Move m and the second quote off the stack. Run the first quote. Then place m back on the stack and run the second quote. Example: #10 #20 [ n:inc ] [ n:dec ] bi* (returns_#11_#19) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: bi@ Data Stack: nmq- Address Stack: - Remove m from the stack and run quotation. Place m back on the stack and run the quotation again. Example: #10 #20 [ n:inc ] bi@ (returns_#11_#21) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: bit:clear Data Stack: ni-n Address Stack: - Clear bit i in number n. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bit:get Data Stack: ni-n Address Stack: - Return the value of bit i in number n. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bit:set Data Stack: ni-n Address Stack: - Set bit i in number n to 1. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: block:Sets Data Stack: - Address Stack: - This variable points to an array of blocks in a set. It's used internally by some of the block: words in the (std) library. Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: block:buffer Data Stack: -a Address Stack: - Return the address of the first cell in the system block buffer. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: block:empty? Data Stack: n-f Address Stack: - Load the specified block. If the block is empty (all values are spaces), return a true flag. If not, returns false. Example: #10 [ I n:put tab I block:empty? n:put nl ] indexed-times (Check_blocks_0-9_to_see_if_used_or_empty) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: block:first-matching Data Stack: s-n Address Stack: - Scan the blocks. Compare the first part of each title line to the provided string. Return the block number of the first match. If no match is found, returns the value of +Blocks Example. '(tuhi) blocks:first-matching n:put nl Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: block:for-each Data Stack: q- Address Stack: - Run quote once for each block in the system. The block will be loaded into the +block:buffer before running the quotation, and a pointer to the start of the block data will be pushed on the stack prior to running the quote. Example: :titles [ (p-) drop block:title s:put nl ] block:for-each ; Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: block:load Data Stack: np- Address Stack: - Load block n into memory at the provided address. Example: #1 block:buffer block:load Type: word Defined In: rom ---------------------------------------------------------------- Glossary: block:name Data Stack: -s Address Stack: - Return the name (first token in the title line) of the currently loaded block. Example: #5 set load block:name s:put nl Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: block:save Data Stack: np- Address Stack: - Write the contents of memory at the provided address to block n. Example: #3 block:buffer block:save Type: word Defined In: rom ---------------------------------------------------------------- Glossary: block:set:add Data Stack: - Address Stack: - Add the name (first token in the title) of the currently loaded block to the current block set. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: block:set:init Data Stack: - Address Stack: - Initialize space for a new block set. Also sets +block:Set to point to it. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: block:set:known? Data Stack: -f Address Stack: - Return true if the current block name (first token in title) is already in the current block set. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: block:title Data Stack: -s Address Stack: - Return a pointer to a string containing the title line of the currently loaded block.s Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: buffer:add Data Stack: n- Address Stack: - Add a value to the current buffer. Example: $H buffer:add Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: buffer:empty Data Stack: - Address Stack: - Reset the current buffer to an empty state. Example: buffer:empty Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: buffer:end Data Stack: -a Address Stack: - Return the last address in the current buffer. This will be one cell after the last stored value. Example: buffer:end n:put Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: buffer:get Data Stack: -n Address Stack: - Remove the last value from the buffer, leaving it on the stack. Example: buffer:get n:put Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: buffer:set Data Stack: a- Address Stack: - Set the provided address as the start of the buffer to use. This will perform a +buffer:empty on the provided address. Example: 'Foo d:create #100 allot &Foo buffer:set Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: buffer:size Data Stack: -n Address Stack: - Return the number of values in the current buffer. Example: buffer:size n:put Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: buffer:start Data Stack: -a Address Stack: - Return the address of the start of the buffer. Example: buffer:start n:put Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: bye Data Stack: - Address Stack: - Shut down Konilo. The exact action will be dependent on your ilo system. On most, this will exit and return control to the host. Example: bye Type: word Defined In: rom ---------------------------------------------------------------- Glossary: c:-consonant? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is not a consonant, or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:-digit? Data Stack: c-f Address Stack: - For ASCII characters, return true if the character is not a numeric digit, or false otherwise. +s:DIGITS is used to track what is considered a digit. The set defaults to 09 and A-F, covering ranges through hexadecimal. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:-letter? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is not a letter, or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:-lowercase? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is not lowercase or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:-uppercase? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is not uppercase or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:-visible? Data Stack: c-f Address Stack: - For ASCII characters, return true if the character lacks a visual representation or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:-vowel? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is not a vowel or false if it is. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:-whitespace? Data Stack: c-f Address Stack: - For ASCII characters, return true if the character is not white space or false if it is. The whitespace characters are tracked in +s:WHITESPACE and include horizontal tab, carriage return, line feed, and space by default. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:consonant? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is a consonant, or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:digit? Data Stack: c-f Address Stack: - For ASCII characters, return true if the character is a numeric digit, or false otherwise. +s:DIGITS is used to track what is considered a digit. The set defaults to 09 and A-F, covering ranges through hexadecimal. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:get Data Stack: "-c Address Stack: - Read a character from the keyboard. This word is setup as a hook to allow it to be replaced and restored. This is used by +s:evaluate to redirect input to use the provided string rather than the keyboard. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: c:letter? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is a letter, or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:lowercase? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is lowercase, or false otherwise. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: c:put Data Stack: c- Address Stack: - Display a charater. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: c:to-lower Data Stack: c-c Address Stack: - For ASCII letters, return the lowercase form of the character. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: c:to-s Data Stack: c-s Address Stack: - Given a character, create a temporary string with that character as the only value. Example: 'Hello $! c:to-s s:append Type: word Defined In: rom ---------------------------------------------------------------- Glossary: c:to-upper Data Stack: c-c Address Stack: - For ASCII characters, convert the letter to its uppercase form. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: c:toggle-case Data Stack: c-c Address Stack: - For ASCII letters, switch the case of a character. Lowercase becomes uppercase, and vice versa. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:uppercase? Data Stack: c-c Address Stack: - For ASCII letters, return true if the character is uppercase or false otherwise. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: c:visible? Data Stack: c-f Address Stack: - For ASCII characters, return true if the character has a visual representation or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:vowel? Data Stack: c-f Address Stack: - For ASCII letters, return true if the character is a vowel or false if not. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: c:whitespace? Data Stack: c-f Address Stack: - For ASCII characters, return true if the character is white space or false if it is not. The whitespace characters are tracked in +s:WHITESPACE and include horizontal tab, carriage return, line feed, and space by default. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: call Data Stack: p- Address Stack: - Call a word or quotation. Provide a pointer to the starting address. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: cat Data Stack: "- Address Stack: - Parse for a block number. Load this block, then display it with +list* This is part of (nonix) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: catalog Data Stack: - Address Stack: - Start the catalogue browser. This is an alias for +catalogue Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: catalogue Data Stack: - Address Stack: - Start the catalogue browser. This is a tool using the (termina) scaffold to provide a visual interface for navigating your blocks. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: choose Data Stack: fpp- Address Stack: - +choose takes a flag and two pointers. The first pointer will be called if the flag is true, the second will be called if the flag is false. Example: n:even? [ 'Yes,_its_even ] [ 'No,_its_odd ] choose s:put Type: word Defined In: rom ---------------------------------------------------------------- Glossary: clear Data Stack: - Address Stack: - Clear the display. This assumes a character addressed display with DEC escape sequence support. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: code: Data Stack: "- Address Stack: - Parse for a name, and use +d:create to add it to the dictionary. This is intended for use with the runtime assembler, for writing words in assembly. Example: code: x10 'limure.. i #10 d Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: comma Data Stack: n- Address Stack: - Store a value into memory at +here and increment +Free Type: word Defined In: rom ---------------------------------------------------------------- Glossary: compare Data Stack: pon-f Address Stack: - Compare n cells of memory, starting at address p to the corresponding cells starting at address o. Return true if all values match, or false if there are any variations. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: compile:call Data Stack: p- Address Stack: - Mainly intended for internal use, this compiles ilo instructions for a lica.... bundle. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: compile:jump Data Stack: p- Address Stack: - Mainly intended for internal use, this compiles ilo instructions for a liju.... bundle. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: compile:lit Data Stack: n- Address Stack: - Mainly intended for internal use, this compiles ilo instructions for a li...... bundle. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: compiling? Data Stack: -f Address Stack: - Return true if the +Compiler is on, or false if it is not. It is intended as a readability aid for code that needs awareness of the compiler state. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: copy Data Stack: pon- Address Stack: - Copy n cells of memory starting at address p to memory starting at address o. Copies of overlapping memory areas are not supported. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: cp Data Stack: ""- Address Stack: - Parse for two block numbers. Copy the contents of the first block into the second block. This is part of (nonix) Example: cp 100 110 Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: curry Data Stack: nq-q Address Stack: - Create a new quotation. The quotation will be defined as if it were of a form: [ n q ] Example: 'Hello &s:put curry \say-hello say-hello Type: word Defined In: rom ---------------------------------------------------------------- Glossary: d Data Stack: n- Address Stack: - Part of the runtime assembler, this inlines a value to +here Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: d:address Data Stack: d-p Address Stack: - Given a dictionary header, return the address of the field which contains a pointer to the actual start of the word. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: d:create Data Stack: s- Address Stack: - Create a new dictionary header. The provided string is hashed and used for the word name; the +d:address field will be set to the address immediately after the header. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: d:exists? Data Stack: s-f Address Stack: - Given a string with a word name, search the dictionary for a matching header. If located, return true. If not, return false. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: d:hash Data Stack: d-p Address Stack: - Given a dictionary header, return the address where the hash of the name is stored. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: d:link Data Stack: d-a Address Stack: - Given a dictionary header, return the address where the link to the previous entry is stored. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: d:lookup Data Stack: s-d Address Stack: - Given a string with a word name, search the dictionary for it. When found, return a pointer to the dictionary header. If not found, this will return 0. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: depth/address Data Stack: -n Address Stack: - Return the number of items on the address stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: depth/data Data Stack: -n Address Stack: - Return the number of items on the data stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: depths Data Stack: -nm Address Stack: - Return the number of items on the data stack (n) and address stack (m). Type: word Defined In: rom ---------------------------------------------------------------- Glossary: describe Data Stack: "- Address Stack: - Parse for a word name. Look for a matching glossary block and display any that match. This will work for partials. Examples: describe nl describe c: Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: describe:word Data Stack: s- Address Stack: - Look for a glossary block with a title that starts with the provided string. Display any that match. This will work with partials. Example: 'bye describe:word Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: dip Data Stack: nq-n Address Stack: - Remove n from the stack and call the quotation. After execution, put n back on the stack. A related word is +sip Type: word Defined In: rom ---------------------------------------------------------------- Glossary: drop Data Stack: n- Address Stack: - Discard the top value on the data stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: drop-pair Data Stack: nm- Address Stack: - Discard the top two values on the data stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: dtc Data Stack: - Address Stack: - This begins a direct threaded code sequence. Most compiled code in Konilo is DTC. They start with a stub which calls this, then this handles walking through the list of addresses. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: dump Data Stack: pn- Address Stack: - Taking a pointer and a length, this will display a memory dump starting at the pointer address. The display shows the address (in decimal), the individual bytes (in hex) and the raw cell value (in decimal). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: dup Data Stack: n-nn Address Stack: - Make a copy of the top value on the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: dup-pair Data Stack: nm-nmnm Address Stack: - Make a copy of the top two values on the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: e:Display Data Stack: - Address Stack: - This variable holds a pointer to a word which displays the current block. This defaults to pointing to +list Type: variable Defined In: rom ---------------------------------------------------------------- Glossary: e:copy Data Stack: n- Address Stack: - Copy the contents of a line in the block editor to a dedicated buffer. This can be used with +e:paste to duplicate a line. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: e:cut Data Stack: n- Address Stack: - Move the contents of a line in the block editor to a dedicated buffer. This can be used with +e:paste to move a line. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: e:erase/line Data Stack: n- Address Stack: - Erase the contents of a line in the block editonr. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: e:for-each-line Data Stack: q- Address Stack: - For each line in the current block, push a pointer to a string with the line contents to the stack, and call the provided quotation. Example: :list* [ (s-) s:put nl ] e:for-each-line ; Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: e:indent Data Stack: n- Address Stack: - Indent a line in the editor. This adds two spaces to the start of the line. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: e:insert Data Stack: n"- Address Stack: - Parse until the end of the line. Replace the contents of line n with the parsed text. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: e:insert-at Data Stack: nm"- Address Stack: - Parse until the end of the line. Insert the read text into the specified line (n) starting at column (c). Type: word Defined In: rom ---------------------------------------------------------------- Glossary: e:line Data Stack: n- Address Stack: - Display a line in the current block. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: e:paste Data Stack: n- Address Stack: - Replace the contents of line n with the text in the dedicated cut/copy buffer. Use this with +e:copy and +e:cut Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: e:replace Data Stack: ns- Address Stack: - Replace the contents of line n with the text in string s. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: e:replace-at Data Stack: nms- Address Stack: - Insert the text in s into line n, starting at column n. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: e:to-line Data Stack: n-a Address Stack: - Given a line number, return the starting address for that line in the block buffer. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: e:unindent Data Stack: n- Address Stack: - Remove a level of indention from a line in the editor. Indention levels are two spaces each. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: edit Data Stack: n- Address Stack: - Load the specified block number and display it using the display word +e:Display points to (normally +list ). Type: word Defined In: rom ---------------------------------------------------------------- Glossary: eq? Data Stack: nm-f Address Stack: - Compare two values for equality. If equal, return a true flag. If not equal, return a false flag. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: f:add Data Stack: nm-o Address Stack: - Add m to n, leaving the result on the stack. This is part of the fixed point vocabulary. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: f:div Data Stack: nm-o Address Stack: - Divide n by m, leaving the result on the stack. This is part of the fixed point vocabulary. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: f:mul Data Stack: nm-o Address Stack: - Multiply n by m, leaving the result on the stack. This is part of the fixed point vocabulary. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: f:put Data Stack: n- Address Stack: - Display the fixed point number. This is part of the fixed point vocabulary. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: f:scale Data Stack: - Address Stack: - This variable holds a scale value used by the fixed point math vocabulary. It defaults to #100. This is part of the fixed point vocabulary. Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: f:sub Data Stack: nm-o Address Stack: - Subtract m from n, leaving the result on the stack. This is part of the fixed point vocabulary. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fetch Data Stack: p-n Address Stack: - Fetch the value stored in the specified memory location. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: fetch-next Data Stack: p-pn Address Stack: - Fetch the value stored in memory at p. Return the next address (p + 1), and the fetched vale. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: fg:black Data Stack: - Address Stack: - A part of (termina), this sets the foreground color to black. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fg:blue Data Stack: - Address Stack: - A part of (termina), this sets the foreground color to blue. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fg:cyan Data Stack: - Address Stack: - A part of (termina), this sets the foreground color to cyan. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fg:green Data Stack: - Address Stack: - A part of (termina), this sets the foreground color to green. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fg:magenta Data Stack: - Address Stack: - A part of (termina), this sets the foreground color to magenta. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fg:red Data Stack: - Address Stack: - A part of (termina), this sets the foreground color to red. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fg:white Data Stack: - Address Stack: - A part of (termina), this sets the foreground color to white. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fg:yellow Data Stack: - Address Stack: - A part of (termina), this sets the foreground color to yellow. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: fill Data Stack: vpn- Address Stack: - Fill n cells of memory starting at address p with the specified value. Example: (fill_the_block_buffer_with_Q) $Q block:buffer #1024 fill list Type: word Defined In: rom ---------------------------------------------------------------- Glossary: forever Data Stack: q- Address Stack: - Run the provided quotation repeatedly, in an endless loop. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: gc Data Stack: q- Address Stack: - Run the provided quotation. This saves the value of +Free and restores in when the quotation returns. It's basically a lightweight form of garbage collection. Example: here n:put nl [ #100 allot here n:put nl ] gc here n:put nl Type: word Defined In: rom ---------------------------------------------------------------- Glossary: glossary:exists? Data Stack: s-f Address Stack: - Given a word name, return true if a glossary block exists for it, or false otherwise. Glossary blocks have a title with the form: "Glossary: name" Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: glossary:locate Data Stack: s-n Address Stack: - Given a word name, return the number of the block containing the glossary data for it. If not found, this will return zero. Glossary blocks have a title with the form: "Glossary: name" Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: gt? Data Stack: nm-f Address Stack: - Return true if n is greater than m, or false otherwise. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: gteq? Data Stack: nm-f Address Stack: - Return true if n is greater than or equal to m, or false otherwise. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: here Data Stack: -p Address Stack: - Return a pointer to the next free memory address. This is the same as fetching from +Free Type: word Defined In: rom ---------------------------------------------------------------- Glossary: i Data Stack: s- Address Stack: - Given a string containing an ilo instruction bundle, use +assemble:opcode to assemble it and then +comma to store it into memory at +here Example: code: n:square 'dumure.. i Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: if Data Stack: fq- Address Stack: - Execute the provided *quotation if the passed flag is true. If the flag is false, it just discards the pointer. Example: #100 #200 eq? [ 'Values_do_match s:put ] if Type: word Defined In: rom ---------------------------------------------------------------- Glossary: indexed-times Data Stack: nq- Address Stack: - Execute the specified quote the specified number of times. This is similar to +times but provides access to the loop index via +I (as well as access to parent and grandparent index values with +J and +K ) Example: #30 [ I n:put sp ] indexed-times Type: word Defined In: rom ---------------------------------------------------------------- Glossary: internal:lit Data Stack: - Address Stack: -n This is an internal word used to push a value to the stack. I a colon definition or quote, it will push the value in the following memory location to the stack, skipping over the value in the process. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: internal:quote Data Stack: -p Address Stack: - This is an internal word used to skip over embedded quotations in colon definitions (or other quotes). After skipping the quote it will push a pointer to the skipped quote to the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: interpret Data Stack: s- Address Stack: - Given a string with a single token, interpret the token. This follows the standard flow: check for sigil, then try to find in the dictionary, then report error if the other cases fail. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: invoke Data Stack: ss- Address Stack: - Takes a word name and a block set name. If the word name is not found in the dictionary, the block set is loaded. After this the word is run. Example '(dusk:paint2) 'paint2 invoke Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: io Data Stack: ...n- Address Stack: - Perform an i/o operation. This is mostly used internally by other words. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: jump Data Stack: a- Address Stack: - Jump to an address. This is mostly provided to aid in writing new execution flow control combinators. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: l Data Stack: - Address Stack: - An alias for +list . This will display the current block with line numbers and column indicator rulers. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: list Data Stack: - Address Stack: - Display the current block. This will show the contents with line numbers and column rulers. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: list# Data Stack: - Address Stack: - Display the current block. This will display with line numbers, but not column rulers. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: list* Data Stack: - Address Stack: - Display the current block. This will only show the text in the block, no line numbers or column rulers. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: list:syntax Data Stack: - Address Stack: - Part of Tuhi. Display the current block. The block is shown with line numbers, syntax highlighting (based on the Tuhi configuration variables), and a right column rule. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: load Data Stack: - Address Stack: - Load (or reload) the current block. The block number is taken from +Block Type: word Defined In: rom ---------------------------------------------------------------- Glossary: locate Data Stack: "- Address Stack: - Parse for the start of a block title. Search the blocks for any that start with the provded text, and display the block number and title line for matches. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: lt? Data Stack: nm-f Address Stack: - Compare n and m. If n is less than m, return true. Otherwise, return false. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: lteq? Data Stack: nm-f Address Stack: - Compare n and m. If n is less than or equal to m, return true. Otherwise returns false. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: man Data Stack: "- Address Stack: - Parse for a manual page name. Lookup the page in the manual and display it on the screen. This does not start the actual manual browser; use +manual for that. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: man:START Data Stack: -n Address Stack: - Return the block number for the first block in the manual. This is used to help improve performance when looking up entries. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: man:Termina Data Stack: - Address Stack: - This variable determines whether or not the manual display will attempt to use color or not. It defaults to true. Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: man:edit Data Stack: s- Address Stack: - Given a manual page name, load the correponding block and start the +Editor on it. (By default, this will start Tuhi). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: man:exists? Data Stack: s-f Address Stack: - Return true if the requested page is found in the manual, or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: man:list Data Stack: - Address Stack: - Display the current block using the manual page viewer. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: man:locate Data Stack: s-n Address Stack: - Search the manual for a page with the given name. If found, return the block number. If not, return zero. Manual pages have a name of form: "man: name". The manual page names must be lowercase. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: man:new Data Stack: - Address Stack: - Find the next unused block in the manual space, and start the Tuhi editor on it. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: manual Data Stack: - Address Stack: - Start the manual browser, on the *Start page. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: mv Data Stack: ""- Address Stack: - Parse for a source block number and a destination block number. Move the contents of the source block into the destination block. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n Data Stack: - Address Stack: - An alias for +next +list this will load the next block and then display it. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:-zero? Data Stack: n-f Address Stack: - Return true if n is not equal to zero, or false if it is. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:MAX Data Stack: -n Address Stack: - Return the largest valid number. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:MIN Data Stack: -n Address Stack: - Return the smallest valid number. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:abs Data Stack: n-n Address Stack: - Return the absolute value of a number. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:add Data Stack: nm-n Address Stack: - Add n to m, leaving the result on the stack. Example: #1200 #33 n:add Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:between? Data Stack: nlu-f Address Stack: - Return true if n is between the lower (l) and upper (u) limits. The bounds are inclusive. If not within the bounds, returns false. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:dec Data Stack: n-m Address Stack: - Decrement n by 1. Example: #1200 n:dec Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:div Data Stack: nm-o Address Stack: - Divide n by m, giving the result. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:divmod Data Stack: nm-xy Address Stack: - Divide n by m, returning the result (y) and remainder (x). Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:even? Data Stack: n-f Address Stack: - Return true if n is even, or false if not. Example: :check (n-) n:even? [ 'Yes,_it's_even! s:put nl ] if ; #33 check #44 check Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:get Data Stack: "-n Address Stack: - Parse ahead for a token and convert it to a number with +s:to-n Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:inc Data Stack: n-m Address Stack: - Increment n by 1. Example: #72 n:inc Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:limit Data Stack: nlu-n Address Stack: - Constrain n such that n will have a value between a lower (l) and upper (u) limit, inclusive. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:max Data Stack: nm-o Address Stack: - Return the greater of n or m. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:min Data Stack: nm-o Address Stack: - Return the lesser of n or m. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:mod Data Stack: nm-o Address Stack: - Divide n by m and return the remainder. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:mul Data Stack: nm-o Address Stack: - Multiply n and m, leaving the result on the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:negate Data Stack: n-n Address Stack: - Invert the sign of a number. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:negative? Data Stack: n-f Address Stack: - Return true if the number is lessthan zero, or false otherwise. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:odd? Data Stack: n-f Address Stack: - Return true if the number is odd, or false if not. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:positive? Data Stack: n-f Address Stack: - Return true if the number is positive or false otherwise. This considers zero to be part of the positive set of numbers. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:put Data Stack: n- Address Stack: - Convert n to a string using +n:to-s and display it. This will use a little of the temporary string and array space. Example: #1234 n:put Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:random Data Stack: -n Address Stack: - Return a random number and update the internal seed. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:random-mod Data Stack: n-m Address Stack: - Return a random number between 0 and (n - 1), and update the internal seed. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:sign Data Stack: n-m Address Stack: - Return the sign of a number. For positive numbers, this will be 1. For negative, it will be -1. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:sqrt Data Stack: n-m Address Stack: - Return the (approximate) squarre root of a number. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:square Data Stack: n-m Address Stack: - Return the square of a number. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:strictly-positive? Data Stack: n-f Address Stack: - Return true if the number is greater than zero, or false if equal to or less than zero. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: n:sub Data Stack: nm-o Address Stack: - Subtract m from n, leaving the result on the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:to-s Data Stack: n-s Address Stack: - Convert a provided number to a string. The string is stored in the system's temporary string and array space. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: n:zero? Data Stack: n-f Address Stack: - Compare a number to zero. Returns true if it is zero, or false otherwise. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: needs Data Stack: s- Address Stack: - Takes a string with a block name (the first token in a title line is used for this). Scans through the blocks, running any code in matching blocks. Example: '(graphica) needs Type: word Defined In: rom ---------------------------------------------------------------- Glossary: new Data Stack: - Address Stack: - Erase the contents of the currently loaded block. This does not update the block on disk. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: next Data Stack: - Address Stack: - Switch to the next block by incrementing +Block and using +load to read it into memory. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: nip Data Stack: nm-m Address Stack: - Discard the second from top stack item. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: nl Data Stack: - Address Stack: - Move the cursor to the start of the next line. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: not Data Stack: n-n Address Stack: - Perform a logical NOT operation on a value. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: or Data Stack: nm-o Address Stack: - Perform a bitwise OR between two values. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: over Data Stack: xy-xyx Address Stack: - Put a copy of the second stack item on the top of the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: p Data Stack: - Address Stack: - Switch to the previous block and display it. This is an alias for +prev +list Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: pop Data Stack: -n Address Stack: n- Move a value from the address stack to the data stack. This must be balanced with a prior +push in the same definition. I generally recommend using a quote and +dip or +sip over use of +push and +pop Type: word Defined In: rom ---------------------------------------------------------------- Glossary: prelude Data Stack: - Address Stack: - Part of the +startup process, this loads and runs code in blocks 1 and 2. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: prev Data Stack: - Address Stack: - Switch to the previous block. This is done by decrementing +Block and using +load to read it into memory. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: process-data Data Stack: n-n OR (if compiling): n- Address Stack: - This is primarily used internally. If compiling, this adds a call to +internal:lit and then uses +comma to store the value in the current definition. If not, it just leaves the value on the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: push Data Stack: n- Address Stack: -n Move a value from the data stack to the address stack. The move must be balanced by a corresponding +pop before the end of the definition. I generally recommend using a quote and +dip or +sip over use of +push and +pop Type: word Defined In: rom ---------------------------------------------------------------- Glossary: r Data Stack: a- Address Stack: - Part of the pali assembler. Takes an address for a function or data item and uses +comma to store it to +here Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: reorder Data Stack: ...ss-... Address Stack: - The ultimate stack shuffler. This takes two strings, which represent values on the stack. The stack is restructured to match these. Example: #1 #2 #3 'abc 'bacaccacab reorder (stack_is_now:_#2_#1_#3_#1_#3_#3_#1_#3_#1_#2) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: reset Data Stack: ...- Address Stack: - Remove all values on the stack. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: restart Data Stack: - Address Stack: - Restart Konilo. Resets the stacks and reloads the ilo.rom. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: rm Data Stack: "- Address Stack: - Parse for a block number. Load and erase the contents of this block. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: roll Data Stack: abc-cab Address Stack: - Move the top stack item down two spaces. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: rom:save Data Stack: - Address Stack: - Write the current memory contents to ilo.rom. It is not required for an ilo system to support this; on non-supported systems it is treated as a non-operation. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: rot Data Stack: abc-bca Address Stack: - Rotate the third stack item to the top of the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: run Data Stack: - Address Stack: - Run any code in the current block. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s Data Stack: s- Address Stack: - Part of the pali assembler. Inline the contents of a string to +here Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:-eq? Data Stack: s-s Address Stack: - Compare two strings for inequality. If the differ, this will return a true flag. If they are identical, it returns false. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:ASCII-LETTERS Data Stack: -s Address Stack: - Return a string of ASCII letters (English only) in upper and lowercase. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:ASCII-LOWERCASE Data Stack: -s Address Stack: - Return a string of ASCII letters (English only), in lowercase. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:ASCII-UPPERCASE Data Stack: -s Address Stack: - Return a string of ASCII letters (English only), in uppercase. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:CONSONANTS Data Stack: -s Address Stack: - Return a string of characters considered consonants. (ASCII, English only) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:DIGITS Data Stack: -s Address Stack: - Return a string of characters considered valid as numeric digits. This is 0-9 and A-F, covering bases up through hexadecimal. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:PUNCTUATION Data Stack: -s Address Stack: - Return a string containing characters considered punctuation (for ASCII) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:VOWELS Data Stack: -s Address Stack: - Return a string containing the valid vowels (for ASCII, in English). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:WHITESPACE Data Stack: -s Address Stack: - Return a string containing the characters considered valid whitespace. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:append Data Stack: ab-s Address Stack: - Create a new string from the contents of string a followed by the contents of string b. This is similar to +s:prepend Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:begins-with? Data Stack: ss-f Address Stack: - Return true if the first string begins with the second one. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:behead Data Stack: s-s Address Stack: - Remove the first character from the string, returning a new string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:chop Data Stack: s-s Address Stack: - Remove the last character from a string, returning a new string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:contains/s? Data Stack: sm-f Address Stack: - Check to see if string s contains a substring m. Return true if it does, or false if it does not. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:contains? Data Stack: sc-f Address Stack: - Check to see if a string contains a specific character. Return true if it does, or false if it does not. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:copy Data Stack: sp- Address Stack: - Copy the string at s to memory starting at address p. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:dup Data Stack: s-s Address Stack: - Make a copy of a string. The copy is in the temporary space. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:ends-with? Data Stack: sm-f Address Stack: - Return true if string s ends with string m. Return false f it does not. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:eq? Data Stack: sm-f Address Stack: - Compare two strings. If identical, return true. If not, return false. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:evaluate Data Stack: s-? Address Stack: - Redirect the keyboard input (via +c:get ) to read input from the provided string instead. The data in the string will be processed by the listener, with control returning to the keyboard at the end of the string. Important note: Use of +s:evaluate can not be nested. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:fetch Data Stack: sn-c Address Stack: - Fetch a character from a string. Provide the string and an index into the string. Example: 'Hello_Phish #6 s:fetch (obtain_the_$P) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:filter Data Stack: sq-s Address Stack: - Runs the provided quotation against each value in the string. The quotation consumes the value and returns a flag. If true, the value is copied into a new string. If false, the value is is discarded. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:first Data Stack: s-c Address Stack: - Return the first character in the provided string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:for-each Data Stack: - Address Stack: - Runs the provided quotation against each value in the array. The quotation will receive each value and can then consume or transform it as desired. Example: :s:put [ c:put ] s:for-each ; Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:get/line Data Stack: "-s Address Stack: - Read text until the end of the line. Return a pointer to the string. This string will be placed in the temporary buffers. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:get/token Data Stack: "-s Address Stack: - Read text until a whitespace is encountered. Return a pointer to the string. This does not move the string into the temporary buffers. Use it with +s:temp if you are not going to consume the string immediately after reading it. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:hash Data Stack: s-n Address Stack: - Return the hash of the characters in the string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:index/c Data Stack: sc-n Address Stack: - Search string for the first instance of a character. Return the index of the located character. If the character is not found, the returned value will be invalid. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:index/s Data Stack: ss-n Address Stack: - Return the index of the first instance of the second string in the first string. If not found, the resulting index will be invalid. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:keep Data Stack: s-s Address Stack: - Copy a string to memory starting at +here Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:last Data Stack: s-c Address Stack: - Return the last character in the string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:left Data Stack: sn-s Address Stack: - Return a new string with the first n characters from the source string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:length Data Stack: s-n Address Stack: - Return the number of characters in the string. This does not include the length cell of the string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:map Data Stack: sq-s Address Stack: - Execute the quote once for each character in the string. The character is pushed to the stack before the quotation is called. The quote must return a new value. The new values will be stored in a new string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:middle Data Stack: sfn-s Address Stack: - Given an string, a starting index (f) and a length (n), return a new string with the values taken from the indicated subset. Example: '0123456789 #2 #3 s:middle (returns_'234) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:prepend Data Stack: ss-s Address Stack: - Create a new string with the characters from the second string, followed by the characters in the first string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:put Data Stack: s- Address Stack: - Display a string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:reduce Data Stack: anq-n Address Stack: - Takes an string, a starting value, and a quote. This will run the quote against each character in the string; the quote should consume two values and return one. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:reverse Data Stack: s-s Address Stack: - Return a new string with the characters from the original string. The order of the characters will be reversed. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:rewrite Data Stack: s-s Address Stack: - Replace underscores in a string with spaces. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:right Data Stack: sn-s Address Stack: - Return a new string, with the n characters from the right side of the string. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:store Data Stack: csn- Address Stack: - Store character (c) into the string (s) at index (n). Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:temp Data Stack: s-s Address Stack: - Make a copy of the string in the temporary string space. This will return a pointer to the copy. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:th Data Stack: sn-a Address Stack: - Given a string and an index, return the address the index refers to. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:to-lower Data Stack: s-s Address Stack: - Create a new string, with the characters in the source string converted to their lowercase forms. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:to-n Data Stack: s-n Address Stack: - Convert a string to a number. This only works in decimal, and embedded . or , characters are ignored. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:to-upper Data Stack: s-s Address Stack: - Create a new string, with the characters in the source string being converted to their uppercase forms. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: s:trim Data Stack: s-s Address Stack: - Remove both leading and trailing whitespace from a string. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:trim-left Data Stack: s-s Address Stack: - Remove leading whitespace from a string. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: s:trim-right Data Stack: s-s Address Stack: - Remove trailing whitespace from a string. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: save Data Stack: - Address Stack: - Save the current +Block to disk. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: seed Data Stack: - Address Stack: - This holds the next seed for +n:random and +n:random-mod You should ideally update this before using the RNG. Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: set Data Stack: n- Address Stack: - Set +Block to the desired block number. Example: #10 set Type: word Defined In: rom ---------------------------------------------------------------- Glossary: shift-left Data Stack: nm-o Address Stack: - Shift n left by m bits. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:! Data Stack: nm-o Address Stack: - Shift n right by m bits. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:# Data Stack: ns- Address Stack: - Sigil. The token must be a word name. This will find the token in the dictionary and obtain the address of the variable. It will then check the +Compiler state. If compiling, this will compile the address as a literal and then add a call to +store If interpreting, it just runs +store Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:# Data Stack: s-n Address Stack: - Sigil. Passes the provided token to +s:to-n then passes the number to +process-data Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:$ Data Stack: s-c Address Stack: - Sigil. Fetch the first character from the provided token and pass it to +process-data Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:& Data Stack: s-p Address Stack: - Sigil. The provided token must be a word name. This will find the name in the dictionary, and return a pointer to the starting address (from the +d:address field). The returned address is the passed to +process-data Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:' Data Stack: s-s Address Stack: - Sigil. The provided token is a string. If the compiler is off, it is passed to +s:temp (for storage in the temporary buffers). If the compiler is on, it is passed to +s:keep to store in the permanent memory. During compilation it also lays down the code needed to skip over it during execution. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:( Data Stack: s- Address Stack: - Sigil. This is used for comments; it discards the provided data. Example: (This_is_a_comment) Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:: Data Stack: s- Address Stack: - Sigil. Create a new word with the provided name, setup the stub for a new +dtc definition, and turn the +Compiler on. Example: :foo [a-comment) ; Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:@ Data Stack: s-n Address Stack: - Sigil. Lookup the provided name and fetch the stored value. This is provided as a readability aid for working with variables. Example: @Base (is_the_same_as) &Base fetch Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:\ Data Stack: ps- Address Stack: - Sigil. Creates a new word with the provided nome and set the word to point to the provided address. This can be used to add aliases for existing words, or to name quotations. Example: &n:add \+ [ dup n:mul ] \n:square Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:get Data Stack: c-p Address Stack: - Return a pointer to the sigil handler for the provided sigil. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sigil:set Data Stack: pc- Address Stack: - Assign the provided word as the sigil handler for character c. Set the sigil to 0 to disable the handler for it. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sip Data Stack: nq-n Address Stack: - Make a copy of n off the stack, and call the quotation. After execution, put the copy of n back on the stack. A related word is +dip Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sp Data Stack: - Address Stack: - Display a space. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: startup Data Stack: - Address Stack: - This word is called as part of the normal system initialization. Konilo will search for the most recent word named +startup and run it. You can define a new one, or use the default one. By default, this loads and runs code in blocks 1 and 2. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: store Data Stack: np- Address Stack: - Store a value into memory at the specified pointer. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: store-next Data Stack: np-p Address Stack: - Store a value into memory at the specified pointer. Increment the pointer and return it on the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: swap Data Stack: xy-yx Address Stack: - Exchange the positions of the top two items on the stack. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: sys:BUFFERS Data Stack: -a Address Stack: - Return the address of the start of the system buffers in memory. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: sys:EOM Data Stack: -n Address Stack: - Return the last addressable memory cell. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: sys:buffers/block Data Stack: - Address Stack: - This is the starting address of the memory dedicated to the system block buffer Access this via the & sigil. Type: constant Defined In: rom ---------------------------------------------------------------- Glossary: sys:buffers/input Data Stack: - Address Stack: - This is the starting address of the memory dedicated to text input via +s:get/token and +s:get/line Access this via the & sigil. Type: constant Defined In: rom ---------------------------------------------------------------- Glossary: sys:buffers/loops Data Stack: - Address Stack: - This is the starting address of the memory dedicated to indexed loops. Access this via the & sigil. Type: constant Defined In: rom ---------------------------------------------------------------- Glossary: sys:buffers/needs Data Stack: - Address Stack: - This is the starting address of the memory dedicated to loading blocks via +needs Access this via the & sigil. Type: constant Defined In: rom ---------------------------------------------------------------- Glossary: sys:buffers/numeric-conversion Data Stack: - Address Stack: - This is the starting address of the memory dedicated to conversion of strings to numbers and back. Access this via the & sigil. Type: constant Defined In: rom ---------------------------------------------------------------- Glossary: sys:buffers/reserved Data Stack: - Address Stack: - This is the starting address of the memory dedicated to system use, but not formally assigned to a single purpose. Some parts of the tools in the blocks use this. Access this via the & sigil. Type: constant Defined In: rom ---------------------------------------------------------------- Glossary: sys:buffers/scope Data Stack: - Address Stack: - This is the starting address of the memory dedicated to lexical scoping. Access this via the & sigil. Type: constant Defined In: rom ---------------------------------------------------------------- Glossary: sys:buffers/strings+arrays Data Stack: - Address Stack: - This is the starting address of the memory dedicated to temporary strings and arrays. Access this via the & sigil. Type: constant Defined In: rom ---------------------------------------------------------------- Glossary: sys:info Data Stack: - Address Stack: - Display some system information, including the current block, number of blocks, stack depth, and memory usage. This is shown by +list If you define a new sys:info, it will be used instead of the default one. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: tab Data Stack: - Address Stack: - Display a horizontal tab character. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: ti:add-hint Data Stack: sn- Address Stack: - Add a hint (s) for hotkey number (n). The hint will be padded or clipped to 12 characters. Hints can only be added for the values 0 through 9. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:application Data Stack: q- Address Stack: - Start a (termina) program. The provided quote must provide three pointers: - word to setup the key actions - word to setup the hints - a word for the display Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:done Data Stack: - Address Stack: - This word is used to end a (termina) program. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:get-action Data Stack: c-q Address Stack: - Given a character, return a pointer to the word or quotation which handles it. Part of (termina) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:height Data Stack: - Address Stack: - Part of (termina); this variable should be set to the number of rows Termina should use. Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: ti:help Data Stack: n- Address Stack: - This is a single block viewer, written as a (termina) tool. It is normally used with a binding to $? which presents a help or quick reference screen for additional keys beyond the hot key area at the bottom of the display. Part of (termina) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:reset-actions Data Stack: - Address Stack: - Part of (termina). This will erase the contents of the Termina application shortcuts table. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:reset-display Data Stack: - Address Stack: - Reset the display code to an internal stub for a blank display. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:reset-hints Data Stack: - Address Stack: - Reset the hints to an empty state. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:set-action Data Stack: qc- Address Stack: - This adds an action (q) to a key (c). Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:set-display Data Stack: q- Address Stack: - Set the display word for a (termina) program. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:set-title Data Stack: s- Address Stack: - Set the title for a (termina) program. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: ti:width Data Stack: - Address Stack: - Part of (termina), this variable should be set to the number of columns Termina should use. Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: times Data Stack: nq- Address Stack: - Run a quotation (or other word) the specified number of times. Unlike +indexed-times this form does not expose the loop index. Example: #0 #10 [ dup n:put n:inc ] times drop Type: word Defined In: rom ---------------------------------------------------------------- Glossary: titles Data Stack: - Address Stack: - Display the titles of non-empty blocks. Also displays the block numbers. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: tri Data Stack: xppp-? Address Stack: - This runs each quote against a copy of the value (x). In effect, the same as "x p1 x p2 x p3". Type: word Defined In: rom ---------------------------------------------------------------- Glossary: tri* Data Stack: xyzppp-? Address Stack: - This runs p1 against x, p2 against y, and p3 against z. Equal to doing "x p1 y p2 z p3". Type: word Defined In: rom ---------------------------------------------------------------- Glossary: tri@ Data Stack: xzyp-? Address Stack: - This runs the provided quote against each of the values in turn. Equal to doing "x p y p z p" Type: word Defined In: rom ---------------------------------------------------------------- Glossary: tuck Data Stack: nm-mnm Address Stack: - Put a copy of the top stack item under the second item. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: tuhi Data Stack: - Address Stack: - Start the Tuhi block editor. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: tuhi:cfg/colors,bg Data Stack: - Address Stack: - This variable holds a pointer to the word which sets the background color when using the syntax highlighting view. By default this is set to +bg:black Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: tuhi:cfg/colors,fg Data Stack: - Address Stack: - This variable holds a pointer to the word which sets the default text color when using the syntax highlighting view. By default this is set to +fg:green Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: tuhi:cfg/colors,line# Data Stack: - Address Stack: - This variable holds a pointer to the word which sets the line number color when using the syntax highlighting view. By default this is set to +fg:cyan Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: tuhi:cfg/status Data Stack: - Address Stack: - This variable is used to tell Tuhi whether or not to show a status line. It is off (false) by default. Set to true (-1) to enable this. If using this, ensure your terminal has sufficient height to show the line. Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: tuhi:cfg/syntax Data Stack: - Address Stack: - This variable toggles whether or not the Tuhi editor uses the syntax highlighting view. Set to true to enable this, or false to disable. (In Tuhi, this can be toggled with the + and - keys) Type: variable Defined In: blocks ---------------------------------------------------------------- Glossary: unroll Data Stack: cba-abc Address Stack: - Exchange the position of the top and third stack item. This is provided as the inverse of +roll Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: until Data Stack: q- Address Stack: - Run quotation in a loop. The quote must return a flag at the end of each iteration. If false, the loop continues. If true, it ends. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: use Data Stack: n- Address Stack: - Load block n and +run the code in it. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: using Data Stack: nm- Address Stack: - Run +use against blocks n through m. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: v:dec Data Stack: a- Address Stack: - Decrement the value in a variable by 1. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: v:dec-by Data Stack: na- Address Stack: - Decrement the value in a variable by the specified amount. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: v:inc Data Stack: a- Address Stack: - Increment the value in a variable by 1. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: v:inc-by Data Stack: na- Address Stack: - Increment the value in a variable by the specified amount. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: v:limit Data Stack: plu- Address Stack: - Fetch the value stored at p, then constrain it to fall within the provided lower and upper limits. Then store the updated value back to p. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: v:off Data Stack: a- Address Stack: - Given a pointer to a variable, set the value to 0. Example: &MyVariable v:off Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: v:on Data Stack: a- Address Stack: - Given a pointer to a variable, set the value to -1. Example: &MyVariable v:on Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: v:preserve Data Stack: pq- Address Stack: - Fetch the value stored in the pointer p and remove p from the stack. Run quotation q. Then store the previously read value back into memory address p. Example: :gc (q-) &Free swap v:preserve ; Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: v:update Data Stack: aq- Address Stack: - This combinator takes a variable pointer and a quotation. It fetches the value stored in the variable, then calls the quote. The quote must consume the provided value and return a new value. After execution, the returned value is store in the variable. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: var Data Stack: s- Address Stack: - Create a new variable with the provided name. The initial value will be set to 0. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: var-n Data Stack: ns- Address Stack: - Create a new variable with the provided name and set the initial value to n. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: vt:clear Data Stack: - Address Stack: - Part of (termina). Clear the display. This does not move the cursor. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:csi Data Stack: - Address Stack: - Part of (termina); this displays the ESC[ sequence that is the start of many DEC escape sequences. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:down Data Stack: n- Address Stack: - Move the cursor down the specified number of rows. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:esc Data Stack: - Address Stack: - Part of (termina); this displays the ESC character. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:home Data Stack: - Address Stack: - Part of (termina). Move the cursor to the top left corner of the display. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:left Data Stack: n- Address Stack: - Move the cursor left the specified number of rows. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:reset Data Stack: - Address Stack: - Part of (termina). Reset the terminal state. This will return to the default colors and attributes. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:right Data Stack: n- Address Stack: - Move the cursor right the specified number of rows. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:row,col Data Stack: rc- Address Stack: - Part of (termina). Move the cursor to row r, column c. These are addressed starting at 1, 1, not 0, 0. Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:set/color Data Stack: n- Address Stack: - Set the foreground or background color. This is used internally by the fg: and bg: words. This is part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: vt:up Data Stack: n- Address Stack: - Move the cursor up the specified number of rows. Part of (termina). Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: while Data Stack: q- Address Stack: - Run quotation in a loop. The quote must return a flag at the end of each iteration. If true, the loop continues. If false, it ends. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: xcp Data Stack: """- Address Stack: - Parse for a starting block, a destination, and a quantity. Copy the quantity of blocks from the starting point to the destination. Overlapping ranges are not supported. This is part of (nonix) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: xmv Data Stack: """- Address Stack: - Parse for a starting block, a destination, and a quantity. Move the quantity of blocks from the starting point to the destination. Overlapping ranges are not supported. This is part of (nonix) Type: word Defined In: blocks ---------------------------------------------------------------- Glossary: xor Data Stack: nn-n Address Stack: - Perform a bitwise XOR between two values. Type: word Defined In: rom ---------------------------------------------------------------- Glossary: xrm Data Stack: ""- Address Stack: - Parse for a starting block and a number of blocks. Erase the specified number of blocks. This is part of (nonix). Type: word Defined In: blocks ----------------------------------------------------------------