iogiiDocsSource ⸱ Quick Ref ⸱ Online Interpreter

Quick Reference

x is any scalar (int or char). a or b is any type (including lists). {} is list but repeat to promote.

numeric ops
+ add int x → x 1 2+ → 3
char int → char 'a 1+ → 'b'
- sub x int → x 5 3- → 2
* mult int int → int 2 3* → 6
/ div int int → int 7 2/ → 3
% mod x int → int 7 2% → 1
^ pow int int → int 2 3^ → 8
~ negate int → int 1~ → -1
( pred x → x 4( → 3
) succ x → x 'a) → 'b'
} countTo int → [int] 3} → [1,2,3]
{ wholes [int] { → [0,1,2,...
_ sum [int] → int 1,2,3,4 _ → 10
. prod [int] → int 1,2,3,4 . → 24
char ops
^ charSubtraction char char → int 'b 'a ^ → 1
~ read [char] → int "23"~ → 23
} readAll [char] → [int] "1,2 3"} → [1,2,3]
. ord char → int 'd. → 100
., chr int → char 100., → 'd'
` str int → [char] 5` → "5"
` strip [char] → [char] " a b\n"` → "a b"
* replicate [char] int → [char] "ab"3* → "ababab"
* join [[char]] {[char]} → [char] 1,2,3 " "* → "1 2 3"
/ rightJustify [char] int → [char] "hi" 3 / → " hi"
/ split [char] [char] → [[char]] "a..b.c." "."/ → ["a","b","c"]
% cut splitKeepEmpties [char] {[char]} → [[char]] "a..b.c." "."% → ["a","","b","c",""]
_ words [char] → [[char]] "ab c\n d" _ → ["ab","c","d"]
d dropUntilAfterSubstring [char] [char] → [char] "beatles" "at" d → "les"
k keepUntilSubstring [char] [char] → [char] "beatles" "at" k → "be"
g getSubstring [char] [char] → [char] "beatles" "at","z" g → ["at",""]
generic ops
a append [a] [a] → [a] "ab" "cd"a → "abcd"
b backwards reverse [a] → [a] "abc" b → "cba"
c cons [a] a → [a] 1,2 0c → [0,1,2]
d drop [a] int → [a] "abcde" 2d → "cde"
g get [a] int → a "abcd" 2g → 'c'
h head [a] → a "abc"h → 'a'
j just a → [a] 1j → [1]
k keep take {a} int → [a] "abcde" 2k → "ab"
l last [a] → a "abc"l → 'c'
n not a → int 0,1,2n → [1,0,0]
o cons0 consDefault [a] → [a] "abc"o → " abc"
p pivot transpose [[a]] → [[a]] "abc","def"p → ["ad","be","cf"]
q equal a a → int 1,2,3 1q → [1,0,0]
r repeat a → [a] 1r → [1,1,1,1,1,1...
s size len [a] → int "abc"s → 3
t tail [a] → [a] "abc"t → "bc"
u unite concat [[a]] → [a] "ab","cd","e"u → "abcde"
v vet filter [a] [b] → [a] "abcdef":2%v → "ace"
w while takeWhile [a] [b] → [a] "abc def":w → "abc"
(, min a a → a 4 5 (, → 4
x max a a → a "bc" "ad" x → "bd"
y yesNo ifElse b a a → a 0 1 2 y → 2
z zeroPad padDefault [a] → [a] 1,2,3 z → [1,2,3,0,0,...
\ exclude setDiff [a] [a] → [a] "abra" "ra"\ → "ba"
< lessThan a a → int 1,2,3 2< → [1,0,0]
& sortBy [a] [b] → [a] "abc","d":len &, → ["d","abc"]
| chunkWhen [a] [b] → [[a]] "ab cd e":| → ["ab ","cd ","e"]
@ indices [a] a → [int] "abcdc" 'c @ → [2,4]
# reshape [a] {int} → [[a]] "abcdef" 2 # → ["ab","cd","ef"]
? debut isFirst [a] → [int] "aardvark"? → [1,0,1,1,1,0,0,1]
[ init [a] → [a] "abc" [ → "ab"
folding ops
i iterate [a] ([a] → [a]) → [a] 0 i 1,2,3+ → [0,1,3,6]
e expand iterate0 ([a] → [a]) → [a] e 1,2,3+ → [1,3,6]
f foldr a ([a] → [a]) → a 0 f 1,2,3+ → 6
m meld foldr0 ([a] → [a]) → a m 1,2,3+ → 6
stack ops
: dup a → a a 5: → 5 5
; mdup a (a → b) → b a 5;1- → 4 5
] peek a b → a b a 5 4 ] → 5 4 5
! mpeek a b (a → c) → c b a 5 4 ! 1+ → 6 4 5
special symbols
$arg5;$+ → 10 5
>end loop or set implicite))> → [2,4,6...
,unvec or data format or raw mode"ab"j, → ["ab"]
=set next var5= A → 5 5
low rank overloads
U uppercase char → char 'a U → 'A'
L lowercase char → char 'A L → 'a'
p lines [char] → [[char]] "ab\nc\n" p → ["ab","c"]
P charClass [char] → [char] "x" P → "abc...z"
P digits int → [int] 123 P → [1,2,3]
U undigits [int] → int 1,2,3 U → 123
L lenFrom0 abs int → int 5~L → 5
D doBase toBase int int → [int] 6 2 D → [1,1,0]
# baseFrom int [int] → int 2 1,1,0 # → 6
B rangeFrom rangeBegin x → [x] 2B → [2,3,4,...
T rangeTo int → [int] 3T → [0,1,2]
u unsquare sqrt int → int 9u → 3
H hyper pow10 int → int 2H → 100
debugging ops
nil [a] nil → []
pad [a] a → [a] 1,2 3 pad → [1,2,3,3,3...
show a → [char] 1,2 show → "[1,2]"
type a → [char] 1,2 type → "[int]"
version [char] version → "0.3-beta, ruby3.1.2"
del a → 1 2 del → 1
let a let name → (sets name) 5 let a a a+ → 10
set a set name → (sets name) a 5 set a( a) → 4 6
input a
implicit a