bf v0.9.d quick reference vocabulary
------------------------------------
!  exclamation mark - ( a v - ) store d into v
:  colon - ( v - a ) fetch variable content
@  at - ( [f] | v - x*a ) execute function [f] on stack or in variable v
?  query - ( f [f] - x*a ) if-then; execute [f] if
           ( [f1] [f2] - x*a ) if-then-else; execute [f1] if f, otherwise [f2]
#  sharp - ( [f1] [f2] - x*a ) while cycle; while [f1] execute [f2]
z  stop parsing until end of input line
%  percent - ( a - a a ) dup
;  semi-colon - ( a - ) drop
$  dollar - ( a1 a2 - a2 a1 ) swap
_  underscore - ( a3 a2 a1 - a2 a1 a3 ) rot
r  ( x*a i - y*a ) roll, rotate ith element
p  ( x*a i - x*a a ) pick, copy ith element in a
:  colon - show stack content
)  right paren - ( x*a - ) empty stack
}  right curly bracket - ( - i ) leave current stack depth
g  ( i1 - i2 | ) return random number i2 if i1 = True, otherwise set seed
.  dot - emit a Carriage Return
*  star - ( n1 n2 - n1*n2 ) multiplication
+  plus - ( n1 n2 - n1+n2 ) addition
-  dash - ( n1 n2 - n1-n2 ) subtraction
/  slash - ( n1 n2 - n1/n2 ) (integer) division
m  ( n1 n2 - i ) - modulo (integer) remainder
^  caret - ( n1 n2 - n3 ) n2th power of n1 in n3
!  exclamation mark - ( n1 n2 - n3 ) n2th root of n1 in n3
\  backslash - ( n - -n ) negate TOS
=  equal - ( a1 a2 - f ) True if a1 = a2
>  greater than - ( a1 a2 - f ) True if a1 > a2
&  ampersand - ( i1 i2 - f ) logical and
|  bar - ( i1 i2 - f ) logical or
~  tilde - ( i - f ) logical not
s  ( n - d ) sin
c  ( n - d ) cos
t  ( n - d ) arctan
l  letter l - ( n1 n2 - n3 ) logarithm in base n2 of n1 in n3
v  ( i - d | d - i ) toggle integer/float
a  ( i1 i2 - i3 ) bitwise and
o  ( i1 i2 - i3 ) bitwise or
n  ( i1 - i2 ) bitwise not (1s complement)
x  ( i1 in - i3 ) bitwise xor
i  ( a - ) print TOS on standard output
j  ( n i - ) print n in a field of i chars on standard output
k  ( n i - ) print n with i decimal digits on standard output
<  lesser than - ( - "s" ) read from standard input leaving a string
(  left paren - ( "s" - x*a ) include file "s" and execute it
                ( "s1" i - "s2" ) if i>0 return in "s2" ith line of file "s"
                ( "s" i - [f] )   if i<0 return in [f] ith line of file "s"
f  ( - "s" ) leave current buffer file name
b  ( "s" - ) set buffer file name to "s"
y  ( "s" - ) yield stack content to file "s"
]  right square bracket - toggle appending input lines to buffer file
`  grave - ( - c ) leave on TOS ascii code of next char
'  single quote - ( c - ) emit char whose ascii code is on TOS
,  comma - ( "s" - n ) convert string on TOS to number
           ( n - "s" ) convert number on TOS to string
e  ( "s1" i1 - "s2" | i2 ) extract i1th char of "s1" if i1 > 0
   or leave "s1" length in i2 if i1 < 0
u  ( "s" - c ) unveil first ascii code of "s"
   ( "s1" "s2" i - "s1+s2" ) unify strings if n = False
   ( "s1" i1 i2 - "s2" ) get substring "s2" with start at i1 and end at i2

System commands:
----------------
cd             ( "s" - ) change directory
date           ( - yyyy mm dd ) leave date
debug          toggle debugging
dir            list current directory
edit           ( "s" - ) edit file "s"
exit           the same as 0q
help           help on system commands
now            print date & time in current format
pwd            print working directory
q              ( n - ) quit with error code n
quit           the same as 0q
ref            print vocabulary references by screens
show           ( "s" - ) show content of file "s"
time           ( - hh mm ss ) leave time
