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 | ||
$ | arg | 5;$+ → 10 5 |
> | end loop or set implicit | e))> → [2,4,6... |
, | unvec or data format or raw mode | "ab"j, → ["ab"] |
= | set next var | 5= 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 |
|