Landin library reference source

compiler/tests/fixtures/runtime/library-shared-map/main.ldn

1import core/map
2
3exercise: () -> (ok: bool) ! map.missing =
4    ok = false
5    mut value := map.new(key: u32, item: i32)
6    return when map.length(value) <> 0 or map.capacity(value) <> 0
7    return when map.contains(value, u32(42))
8    mut refused: bool = false
9    _ = map.at(value, u32(42)) else (problem)
10        return when problem <> map.missing
11        refused = true
12    end
13    return when not refused
14    _ = map.get(value, u32(42)) else (problem)
15        ok = problem == map.missing
16        return
17    end
18end exercise
19
20public main: () -> (code: i32) =
21    code = 1
22    ok := exercise() else false
23    if ok then
24        code = 42
25    end if
26end main