+ 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: - Addr: - Float: - End the current definition. Class: class:macro | Namespace: global | Interface Layer: all [ Data: - Addr: - Float: - Begin a quotation. Class: class:macro | Namespace: global | Interface Layer: all ] Data: - Addr: - Float: - End a quotation. Class: class:macro | Namespace: global | Interface Layer: all 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 fetch Data: a-n Addr: - Float: - Fetch the value stored at the specified address. Class: class:primitive | Namespace: global | Interface Layer: all Example #1: &Version fetch file:exists? Data: s-f Addr: - Float: - Given a file name, return `TRUE` if it exists or `FALSE` if it does not. Class: class:word | Namespace: file | Interface Layer: rre file:slurp Data: as- Addr: - Float: - Given an address and a file name, read the file contents into memory starting at the address. Class: class:word | Namespace: file | Interface Layer: rre here Data: -a Addr: - Float: - Return the next free address in memory. Class: class:word | Namespace: global | Interface Layer: all if; Data: fq- Addr: - Float: - Execute the quotation if the flag is `TRUE`. If true, also exit the word. Class: class:word | Namespace: global | Interface Layer: all s:const Data: ss- Addr: - Float: - Create a constant named s2, returning a pointer to s1. This will use `s:keep` to preserve the original string. Class: class:word | Namespace: s | Interface Layer: all s:eq? Data: ss-f Addr: - Float: - Compare two strings for equality. Return `TRUE` if identical or `FALSE` if not. Class: class:word | Namespace: s | Interface Layer: all Example #1: 'hello 'again s:eq? 'test 'test s:eq? 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:get Data: -s Addr: - Float: - Read input from standard in (via `c:get`) until a CR or LF is encountered. Returns a string. Class: class:word | Namespace: all | Interface Layer: rre s:put Data: s- Addr: - Float: - Display a string. Class: class:word | Namespace: global | Interface Layer: all s:substr Data: sfl-s Addr: - Float: - Extract a substring from the specified string. This will take the characters starting at `f` and extend `l` characters in length. Class: class:word | Namespace: s | Interface Layer: all s:tokenize Data: sc-a Addr: - Float: - Takes a string and a character to use as a separator. It splits the string into substrings and returns an array containing pointers to each of them. Class: class:word | Namespace: s | Interface Layer: all swap Data: nm-mn Addr: - Float: - Exchange the position of the top two items on the stack Class: class:primitive | Namespace: global | Interface Layer: all sigil:# Data: s-n Addr: - Float: - Process token as a number. Interpret Time: Convert the string into a number and leave on the stack. Compile Time: Convert the string into a number and compile into the current definition as a literal. Class: class:macro | Namespace: sigil | Interface Layer: all sigil:' Data: s-s Addr: - Float: - Process token as a string. Interpret Time: Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Compile Time: Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Then compile the string into the current definition. Class: class:macro | Namespace: sigil | Interface Layer: all sigil:: Data: s- Addr: - Float: - 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