blob: 03db260450271ede699b6cd0b2ad8c0ea0d10749 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 | ; this should be in the stdlib
(func min (lst)
    (reduce
        (lambda (acc x)
            (if (< x acc)
                x
                acc))
        (rest lst)
        (first lst)))
(func lev (s t)
    (branch
        ((eq? 0 (length s)) (length t))
        ((eq? 0 (length t)) (length s))
        ((eq? (first s) (first t))
            (lev (rest s) (rest t)))
        (#true
            (+ 1
                (min
                    (list
                        (lev s (rest t))
                        (lev (rest s) t)
                        (lev (rest s) (rest t))))))))
 |