fizzbuzz.orchid
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import! orchid.console; import! orchid.io; main! { bind! i (range 0 100) { execute! fizzbuzz i; } } procedure! fizzbuzz :: (i: U32) -> (io.Result None) { branch! (classify i) { (0, 0) -> execute! console.format_line! "{}" i; (0, 1) -> execute! console.format_line! "fizz {}" i; (1, 0) -> execute! console.format_line! "buzz {}" i; (1, 1) -> execute! console.format_line! "fizzbuzz {}" i; } } function! classify :: (i: U32) -> (U32, U32) { evaluate! (i % 3, i % 5); }