+ Data: nn-n Addr: - Float: - Add `n1` to `n2` and return the result. Class: class:primitive | Namespace: global | Interface Layer: all Example #1: #1 #2 + , Data: n- Addr: - Float: - Store the specified value into the memory at `here` and increment `Heap` by 1. Class: class:word | Namespace: global | Interface Layer: all Example #1: $a , $b , $c , #0 , - Data: nn-n Addr: - Float: - Subtract `n2` from `n1` and return the result. Class: class:primitive | Namespace: global | Interface Layer: all Example #1: #2 #1 - / Data: nm-v Addr: - Float: - Divide `n` by `m` and return the integer part of the quotient. Class: class:word | Namespace: global | Interface Layer: all ; Data: - Addr: - Float: - End the current definition. Class: class:macro | Namespace: global | Interface Layer: all EOM Data: -a Addr: - Float: - Constant. Returns the last addressable memory address. Class: class:word | Namespace: global | Interface Layer: all FREE Data: -n Addr: - Float: - Returns the number of cells available to your application. This is the amount of memory, less the already consumed portion and buffers mapped for Retro's internal use. Class: class:word | Namespace: global | Interface Layer: all [ Data: - Addr: - Float: - Begin a quotation. Class: class:macro | Namespace: global | Interface Layer: all ] Data: - Addr: - Float: - End a quotation. Class: class:macro | Namespace: global | Interface Layer: all a:for-each Data: aq- Addr: - Float: - Execute the quote once for each item in the array. Class: class:word | Namespace: a | Interface Layer: all choose Data: fqq- Addr: - Float: - Execute q1 if the flag is true (-1) or q2 if the flag is false (0). Only these flags are valid when using `choose`; passing other values as flags will result in memory corruption. Class: class:word | Namespace: global | Interface Layer: all d:for-each Data: q- Addr: - Float: - Execute the specified quote once for each header in the dictionary. Before running the quote, this also pushes a pointer to the header onto the stack. Class: class:word | Namespace: d | Interface Layer: all d:name Data: d-s Addr: - Float: - Given a dictionary header, return the name field. Class: class:word | Namespace: d | Interface Layer: all dip Data: nq-n Addr: - Float: - Temporarily remove n from the stack, execute the quotation, and then restore n to the stack. Class: class:word | Namespace: global | Interface Layer: all drop Data: n- Addr: - Float: - Discard the top value on the stack. Class: class:primitive | Namespace: global | Interface Layer: all dup Data: n-nn Addr: - Float: - Duplicate the top item on the stack. Class: class:primitive | Namespace: global | Interface Layer: all here Data: -a Addr: - Float: - Return the next free address in memory. Class: class:word | Namespace: global | Interface Layer: all n:dec Data: n-m Addr: - Float: - Decrement n by one. Class: class:word | Namespace: n | Interface Layer: all Example #1: #100 n:dec n:inc Data: n-m Addr: - Float: - Increment n by one. Class: class:word | Namespace: n | Interface Layer: all Example #1: #100 n:inc n:max Data: mn-o Addr: - Float: - Return the greater of two values. Class: class:word | Namespace: n | Interface Layer: all Example #1: #1 #7 n:max #-8 #-10 n:max nl Data: - Addr: - Float: - Display a newline. Class: class:word | Namespace: global | Interface Layer: all over Data: nm-nmn Addr: - Float: - Put a copy of n over m. Class: class:word | Namespace: global | Interface Layer: all s:contains/string? Data: ss-f Addr: - Float: - Return `TRUE` if the second string is present in the first string or `FALSE` otherwise. Class: class:word | Namespace: s | Interface Layer: all s:format Data: ...s-s Addr: - Float: - Construct a new string using the template passed and items from the stack. Class: class:word | Namespace: s | Interface Layer: all s:index/char Data: sc-n Addr: - Float: - Return the location of the first instance of the specified character in the string. Class: class:word | Namespace: s | Interface Layer: all s:length Data: s-n Addr: - Float: - Return the number of characters in a string, excluding the NULL terminator. Class: class:word | Namespace: s | Interface Layer: all s:put Data: s- Addr: - Float: - Display a string. Class: class:word | Namespace: global | Interface Layer: all sp Data: - Addr: - Float: - Display a space (`ASCII:SPACE`) Class: class:word | Namespace: global | Interface Layer: all Example #1: :spaces (n-) [ sp ] times ; #12 spaces store Data: na- Addr: - Float: - Store a value into the specified address. Class: class:primitive | Namespace: global | Interface Layer: all Example #1: 'Base var #10 &Base store swap Data: nm-mn Addr: - Float: - Exchange the position of the top two items on the stack Class: class:primitive | Namespace: global | Interface Layer: all sigil:# Data: s-n Addr: - Float: - Process token as a number. Interpret Time: Convert the string into a number and leave on the stack. Compile Time: Convert the string into a number and compile into the current definition as a literal. Class: class:macro | Namespace: sigil | Interface Layer: all sigil:$ Data: s-c Addr: - Float: - Process token as an ASCII character. Interpret Time: Fetch first character from string. Leave on stack. Compile Time: Fetch first character from the string. Compile into the current definition as literal. Class: class:macro | Namespace: sigil | Interface Layer: all sigil:& Data: s-a Addr: - Float: - Return a pointer to a named item. If name is not found, returns 0. Interpret Time: Lookup name in dictionary, return contents of the xt field on the stack. Compile Time: Lookup name in dictionary, compile code to push the contents of the xt field into the current definition. Class: class:macro | Namespace: sigil | Interface Layer: all sigil:' Data: s-s Addr: - Float: - Process token as a string. Interpret Time: Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Compile Time: Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Then compile the string into the current definition. Class: class:macro | Namespace: sigil | Interface Layer: all sigil:( Data: s- Addr: - Float: - Process token as a comment. Interpret Time: Discard the string. Compile Time: Discard the string. Class: class:macro | Namespace: sigil | Interface Layer: all sigil:: Data: s- Addr: - Float: - Hook. Process token as a new definition. Interpret Time: Create a header pointing to `here` with the provided string as the name. Sets class to `class:word`. Class: class:macro | Namespace: sigil | Interface Layer: all