Echo Writes Code

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) {
		call! fizzbuzz i;
	}
}

proc! fizzbuzz :: (i: U32) -> (io.Result None) {
	branch! (classify i) {
		(0, 0) -> console.format_line! "{}" i;
		(0, 1) -> console.format_line! "fizz {}" i;
		(1, 0) -> console.format_line! "buzz {}" i;
		(1, 1) -> console.format_line! "fizzbuzz {}" i;
	}
}

func! classify :: (i: U32) -> (U32, U32) {
	eval! (i % 3, i % 5);
}