Standard Library
These definitions are assumed available to other programs.
TODO: flesh out these comments.
Nouns
Characters
TAB tab (ascii 9)
LF linefeed (ascii 10) -- end of line character
FF formfeed (ascii 12) -- clear screen or new page character, in some contexts
CR carriage return (ascii 13) -- second half of new line sequence on hard copy terminals
CRLF CR LF pair
EAV ascii 255 -- last character in a.
Integers
These are intended as left arguments for the conjunctions def and define
noun 0
adverb 1
conjunction 2
verb 3
monad 3
dyad 4
Verbs
Monads
assert assert value is true
boxopen box argument if open
boxxopen box argument if open and 0<# (that is: if there's no items, don't box the empty list)
clear clear all names in locale (right argument is ignored)
datatype noun datatype
erase erase
nameclass name class
nc name class
sign * Typical result is _1, 0, or 1 for each number in the argument (indicating the sign of that number).
smoutput output to session
script load script. Implicit results of executing the script are not displayed.
scriptd load script, displaying both the content of the script and any results produced while executing the script.
Dyads
expand boolean expand data
drop }. Remove x. items from y.
fetch {::
pick >@{ select from y. (using x. indices) and unbox.
Both
These are verbs where both the monad and dyad case seem to be relatively significant.
cutopen cut argument if open
do ". Execute a string
empty return empty result, regardless of what arguments are used
list list data formatted in columns
names formatted namelist
namelist name list
nl selective namelist
Adverbs
define : 0 (explicit definition script form)
each &.> Iterate on atoms, unboxing as needed and boxing results
every &> Iterate on atoms, unboxing as needed
inverse ^:_1 Do opposite of function
leaf L:0 Apply verb within boxes (verb sees only numeric and character data, result is automatically reboxed appropriately)
rows "1 Iterate verb over lists
Conjunctions
bind binds argument to a monadic verb. Typically used as u. bind m. and m, treated as a constant function, and this use of u. would always produce the same result if it were not sensitive to the environment.
def : (explicit definition)
on @: (sequential evaluation)
