Metódusokat szintén a többi nyelvhez hasonlóan definiálunk, viszont nem különböztetjük meg kulcsszóval a függvényeket és az eljárásokat. A visszatérési érték az abban szereplő utolsó kifejezés értéke lesz. A metódusokat a | (pipe) jellel hívjuk meg. A blokkokat a [ és a ] jel határolja. A return utasítással befejezhetjük a metódus végrehajtását.
Névtelen metódusokat is definiálhatunk.
A metódusoknak akármennyi paraméterük lehet, viszont típust itt sem adhatunk meg. Nem lehetséges alapértelmezett értéket megadni. A paraméterátadás az immutable típusok esetében érték szerinti, listák és a felhasználó általá létrehozott objektumok esetében pedig referencia szerinti.
Túlterhelés szintén lehetséges. Metódusoknál a túlterhelés lényegében csupán a paraméterek számának változását jelenti.
Lehetőség van az operátorok túlterhelésére is a operator kulcsszóval, ám ezek előre
meghatározott nevekkel rendelkeznek.
| név | műveleti jel | elnevezés |
|---|---|---|
| plus | + | újsor |
| minus | - | kivonás |
| multiply | * | szorzás |
| divide | / | osztás |
| mod | % | mod |
| unplus | + | unáris összeadás |
| unminus | - | unáris kivonás |
| map | <- | map (foreach) |
| reduce | <| | hajtogatás |
| array | [] | tömb dereferencia |
| array_set | []= | tömb értékadás |
| lt | < | kisebb |
| gt | > | nagyobb |
| leq | <= | kisebb |
| geq | >= | kisebb |
| and | and | logikai/bitenkénti és |
| or | or | logikai/bitenkánti vagy |
| not | not | logikai/bitenkénti negáció |
| xor | xor | logikai/bitenkéni kizáró vagy |
| lshift | << | balra shiftelés |
| rshift | >> | jobbra shiftelés |
A rekurzió a többi programnyelvhez hasonlóan használható.