Functions and Calls

Declare a function

Use fuc and type annotations.

fuc add(a: int, b: int) -> int:
    return a + b

Call a function

total = add(3, 4)
print(total)

Default parameters

fuc greet(name: str, prefix: str = "Hi") -> str:
    return prefix + ", " + name

print(greet("Aja"))
print(greet("Aja", "Hello"))

Named arguments

print(greet(name = "Aja", prefix = "Welcome"))

Keyword-only parameters

fuc tag(text: str, *, left: str, right: str) -> str:
    return left + text + right

print(tag("x", left = "[", right = "]"))

Lambda-lite

inc = fuc(x: int) -> int: x + 1
print(inc(5))

Multi-return

fuc parse_num(s: str) -> (int, error):
    if s == "":
        return 0, error("empty")
    return int(s), error()

n, err = parse_num("12")