(module max3 (fn max (type (fn-type (params (con Int) (con Int)) (ret (con Int)))) (params a b) (body (if (app > a b) a b))) (fn max3 (doc "Demonstriert verschachteltes if (statt max-call) zum Test des Block-Trackings.") (type (fn-type (params (con Int) (con Int) (con Int)) (ret (con Int)))) (params a b c) (body (if (app > a b) (if (app > a c) a c) (if (app > b c) b c)))) (fn main (type (fn-type (params) (ret (con Unit)) (effects IO))) (params) (body (do io/print_int (app max3 3 17 9)))))