Lambda Discipline

Examples

List

examples/list.lbd

-- Lists are immutable values: every operation returns a new list.
a : List<String> = []
(println "list: " a)

b : List<String> = (push "Hello" a)
(println "list: " b)
(println "list size: " (length b))

c : List<String> = (push "World" b)
(println "list: " c)
(println "list[1]: " (get 1 c))

d : List<String> = (push "Foo" c)
(println "list: " d)
(println "without index 2: " (remove 2 d))
(println "unchanged: " d)

Output

list: []
list: ["Hello"]
list size: 1
list: ["Hello", "World"]
list[1]: World
list: ["Hello", "World", "Foo"]
without index 2: ["Hello", "World"]
unchanged: ["Hello", "World", "Foo"]

Run it yourself from the repository root: lbd run examples/list.lbd