% | ( x y -- z ) Modulo two numeric values. In standard notation: a % b = c |
* | ( x y -- z ) Multiply two numeric values. |
+ | ( x y -- z ) Add two numeric values. |
- | ( x y -- z ) Subtract two numeric values. In standard notation: a - b = c |
... | ( [...] -- ... ) Unpack a quote. |
.s | ( -- ) Print the state of the process: all available values. |
/ | ( x y -- z ) Divide two numeric values. In standard notation: a / b = c |
: | ( ... [name] -- ) Bind variables to a quote of names. |
abs | ( x -- y ) Determine the absolute value of a number. |
alias | ( prev new -- ) Alias a new command from another, copying the description of the previous command. |
and | ( a b -- bool ) Determine if two values are both truthy. |
any? | ( [...] predicate -- bool ) Determine whether any value in a quote passes a condition. Stops at the first truthy result. |
anything? | ( -- bool ) True if any value is present. |
appendf | ( contents filename -- ) Write a string to a file. If a file previously existed, the new content will be appended. |
args | ( -- [arg] ) Produce the arguments provided to the process when it was launched. |
assert-true | ( cond message -- ) Naive assertion that requires a condition to be truthy. If falsy, it will print a message to standard error and fail with an exit code of 1. |
cd | ( dirname -- ) Change the process's working directory. |
chars | ( string -- [substring] ) Splits a string into individual characters, where a character is a single byte. (Not friendly to UTF-8 runes.) |
concat | ( [...] [...] -- [...] ) Concatenate two quotes. Values are coerced into quotes. (For String concatenation, see join.) |
contains? | ( haystack needle -- bool ) With Strings, determine if a string contains a substring. With quotes, determine if a quote contains a value. |
cwd | ( -- dirname ) Produce the current working directory. |
def | ( action name -- ) Define a command. |
def! | ( action name -- ) Defines a new command. If nested, any commands or variables defined will be available in the calling scope. |
def-usage | ( name description -- ) Define the usage notes of a given command. |
def? | ( name -- bool ) Determine whether a command is defined. |
define | ( action description name -- ) Define a command with a description. |
defs | ( -- [name] ) Produce a quote of all defined commands. |
deq | ( [a...] -- a [...] ) Dequeue the first value from a quote. |
divisor? | ( a b -- bool ) Determine if a number a is evenly divisible by number b. |
do | ( ... action -- ... ) Execute an action. |
do! | ( ... action -- ... ) Execute an action. If nested, any commands or variables defined will be available in the calling scope. |
do!? | ( ... action condition -- ... ) Conditionally execute an action. If nested, any commands or variables defined will be available in the calling scope. |
do? | ( ... action condition -- ... ) Conditionally execute an action. |
doin | ( context action -- ) Execute an action in a context. |
downcase | ( string -- lower ) Convert a string to its lowercase form. |
drop | ( a -- ) Drop the most recent value. |
dup | ( a -- a a ) Duplicate the most recent value. |
each | ( [...] action -- ) Perform a given action with each value in a quote. |
ends-with? | ( string suffix -- bool ) Determine if a string ends with a suffix. |
enl | ( -- ) Print a newline to standard error. |
enq | ( a [...] -- [a...] ) Enqueue a value into a quote as its new first value. |
ep | ( a -- ) Print the most recent value to standard error. |
epl | ( a -- ) Print the most recent value and a newline to standard error. |
epls | ( [...] -- ) Print the values of the most recent quote, each followed by a newline, to standard error. |
eprint | ( a -- ) Print the most recent value to standard error. |
eprintln | ( a -- ) Print the most recent value and a newline to standard error. |
eprintlns | ( [...] -- ) Print the values of the most recent quote, each followed by a newline, to standard error. |
eq? | ( a b -- bool ) Determine if two values are equal. Works for most types with coercion. |
eval | eval |
even? | ( a -- bool ) Determine if a number is even. |
exec | ( process -- ) Execute a child process (from a String). When successful, returns stdout as a string. When unsuccessful, prints the child's stderr to stderr, and returns boolean false. |
exit | ( exitcode -- ) Exit with the specified exit code. |
filter | ( [...] predicate -- [...] ) Require some condition of all values in a quote. Truthy results are preserved, and falsy results are not. |
first | ( [a...] -- a ) The first element of a quote. |
green | ( -- ) Print a control character for green and bold (for the colorblind) to standard output and standard error. |
gt? | ( x y -- bool ) Determine if a value is greater than another. In standard notation: a > b |
gte? | ( x y -- bool ) Determine if a value is greater-than/equal-to another. In standard notation: a ≧ b |
help | ( -- ) Print commands and their usage |
inspire | ( -- wisdom ) Get inspiration. |
interactive? | ( -- bool ) Determine if the input mode is interactive (a TTY) or not. |
join | ( [substring] delim -- string ) Join strings with a delimiter. |
last | ( [...a] -- a ) The last element of a quote. |
len | ( [...] -- x ) The length of a string or quote. (Always 1 for single values.) |
lines | ( string -- [substring] ) Splits a string on newlines. |
loop | ( ... action -- ... ) Execute an action forever until it fails. |
ls | ( -- [filename] ) Produce a quote of files and directories in the process's working directory. |
lt? | ( x y -- bool ) Determine if a value is less than another. In standard notation: a < b |
lte? | ( x y -- bool ) Determine if a value is less-than/equal-to another. In standard notation: a ≦ b |
map | ( [...] command -- [...] ) Apply an action to all values in a quote. |
nand | ( a b -- bool ) Determine if two values are not both truthy. |
neq? | ( a b -- bool ) Determine if two values are unequal. |
nl | ( -- ) Print a newline to standard output. |
nor | ( a b -- bool ) Determine if neither of two values are truthy. |
norm | ( -- ) Print a control character to reset any styling to standard output and standard error. |
not | ( a -- bool ) Determine the inverse truthiness of a value. |
odd? | ( a -- bool ) Determine if a number is odd. |
or | ( a b -- bool ) Determine if either of two values are truthy. |
p | ( a -- ) Print the most recent value to standard output. |
parse-csv | ( string -- [[...]] ) Naive conversion of a raw string in comma-separated value (CSV) format to a quote of lines of cells |
pl | ( a -- ) Print the most recent value and a newline to standard output. |
pls | ( [...] -- ) Print the values of the most recent quote, each followed by a newline, to standard output. |
pop | ( [...a] -- [...] a ) Pop the last value from a quote. |
print | ( a -- ) Print the most recent value to standard output. |
println | ( a -- ) Print the most recent value and a newline to standard output. |
printlns | ( [...] -- ) Print the values of the most recent quote, each followed by a newline, to standard output. |
procname | ( -- name ) Produce the name of the current process. This can be used, for example, to get the name of a shebang script. |
push | ( [...] a -- [...a] ) Push a value into a quote as its new last value. |
pwd | ( -- ) Print the current working directory to standard output. |
quit | ( -- ) Quit. Prints a warning if there are any values left on stack. |
quote | ( a -- [a] ) Quote a value. |
quote-all | ( ... -- [...] ) Quote all current context. |
rand | ( -- x ) Produces a random integer. |
read-line | ( -- line ) Read a string from standard input until newline. |
read-lines | ( -- [line] ) Read strings, separated by newlines, from standard input until EOF. (For example: until ctrl+d in a Unix-like system, or until a pipe is closed.) |
readf | ( filename -- contents ) Read a file's contents as a string. |
readln | ( -- line ) Read a string from standard input until newline. |
readlns | ( -- [line] ) Read strings, separated by newlines, from standard input until EOF. (For example: until ctrl+d in a Unix-like system, or until a pipe is closed.) |
red | ( -- ) Print a control character for red to standard output and standard error. |
repl | repl |
rev | ( [...] -- [...] ) Reverse a quote or string. Other types are unmodified. |
rl | ( -- line ) Read a string from standard input until newline. |
rls | ( -- [line] ) Read strings, separated by newlines, from standard input until EOF. (For example: until ctrl+d in a Unix-like system, or until a pipe is closed.) |
rot | ( a b c -- c a b ) Rotate the three most recent values. |
shebang-args | shebang-args |
sort | ( [...] -- [...] ) Sort a list of values. When values are of different type, they are sorted in the following order: bool, int, float, string, command, deferred command, quote. |
split | ( string delim -- [substring] ) Split a string on all occurrences of a delimiter. |
starts-with? | ( string prefix -- bool ) Determine if a string starts with a prefix. |
status | ( -- ) Print the state of the process: all available values. |
swap | ( a b -- b a ) Swap the two most recent values. |
times | ( ... action n -- ... ) Perform a given action n times. |
to-bool | ( a -- bool ) Coerce a value to a boolean. |
to-cmd | ( a -- command ) Coerce a value to a command. |
to-def | ( a -- deferred ) Coerce a value to a deferred command. (Read as "definition" or "deferred".) |
to-float | ( a -- float ) Coerce a value to a floating-point number. |
to-int | ( a -- int ) Coerce a value to an integer. |
to-quote | ( a -- [...] ) Coerce value to a quote. To quote a quote, use quote. |
to-string | ( a -- string ) Coerce a value to a string. |
undef? | ( name -- bool ) Determine whether a command is undefined. |
unlines | ( [substring] -- string ) Joins strings with newlines. |
unquote | ( [...] -- ... ) Unpack a quote. |
unwords | ( [substring] -- string ) Joins strings with spaces. |
upcase | ( string -- upper ) Convert a string to its uppercase form. |
usage | ( name -- description ) Print the usage notes of a given command. |
version | ( -- version ) Produce the version of dt in use. |
while | ( ... action cond -- ... ) Perform an action while the condition is truthy. |
words | ( string -- [substring] ) Splits a string on spaces. |
writef | ( contents filename -- ) Write a string as a file. If a file previously existed, it will be overwritten. |