megj. a dupla egyenlőség jel nem lesz része a nyelvnek csupán a funkciók működésének szemléltetésére használatos
arithmetic functions:
sum(1 2 3) == 6
sub(5 2 1) == 5-3-1 == 1
div(8 2 2) == 8/2/2 = 2
prod(2 3 4) == 2*3*4 == 24
mod(9 3 2) == 8%5%2 == 1
min(8 3 7 2) == 2
max(8 3 7 2) == 8
comparisons: (ezeknek a nevével még mindig nem vagyok teljesen elégedett, de azért jobb)
equal(2 sum(1 1)) == true
less(2 3) == true
greater(2 3) == false
... további változatok a not függvény segítségével érhetők el. pl: lessorequal == not(grater(2 3))
lists and strings:
range(5) == [0, 1, 2, 3, 4] == x
len(x) == 5
get(x 2) == 2
get(x 2 3) == [2, 3]
rev(x) == [5, 4, 3, 2, 1, 0]
merge(x range(2)) == [0, 1, 2, 3, 4, 0, 1]
merge(x range(2) 2) == [0, 1, 0, 1, 2, 3, 4]
remove(x 1) == [0, 2, 3, 4]
remove(x 2 4) == [0, 1]
logical:
not(true) == false
any(false true false) == true
all(true true false) == false
general: (még mindig hajlok picit a log
felé)
print("asd")
functional:
map(sum(1) range(3)) == [1, 2, 3] // ez kicsit káoszos, de megszokható: a map az odarakja paraméternek minden elemet külön külön az első függvénynek
filtertrue(equal(2) range(3)) == 2
elérés: list[x] és pl list[-1] == utolsó elem
egyebek