Samples are single-file programs from the compiler's end-to-end tests. Edits compile in the browser.

Source
1:1 Keyword(Fn)
1:4 Identifier("factorial")
1:13 LeftParen
1:14 Identifier("n")
1:15 Colon
1:17 Identifier("Int")
1:20 RightParen
1:22 Arrow
1:25 Identifier("Int")
1:28 Newline
2:3 Keyword(Pure)
2:7 Newline
3:3 Keyword(Example)
3:11 String([Text("zero")])
3:17 Newline
4:5 Identifier("n")
4:6 Colon
4:8 Integer(0)
4:9 Newline
5:5 Arrow
5:8 Integer(1)
5:9 Newline
6:3 Keyword(End)
6:6 Newline
7:3 Keyword(Example)
7:11 String([Text("five")])
7:17 Newline
8:5 Identifier("n")
8:6 Colon
8:8 Integer(5)
8:9 Newline
9:5 Arrow
9:8 Integer(120)
9:11 Newline
10:3 Keyword(End)
10:6 Newline
11:1 Newline
12:3 Keyword(If)
12:6 Identifier("n")
12:8 LessEquals
12:11 Integer(1)
12:12 Newline
13:5 Keyword(Return)
13:12 Integer(1)
13:13 Newline
14:3 Keyword(End)
14:6 Newline
15:3 Keyword(Return)
15:10 Identifier("n")
15:12 Asterisk
15:14 Identifier("factorial")
15:23 LeftParen
15:24 Identifier("n")
15:26 Minus
15:28 Integer(1)
15:29 RightParen
15:30 Newline
16:1 Keyword(End)
16:5 Keyword(Fn)
16:8 Identifier("factorial")
16:17 Newline
17:1 Newline
18:1 Keyword(Fn)
18:4 Identifier("main")
18:8 LeftParen
18:9 RightParen
18:11 Arrow
18:14 Identifier("Nothing")
18:21 Newline
19:3 Keyword(Pure)
19:7 Newline
20:1 Newline
21:3 Keyword(For)
21:7 Identifier("i")
21:9 Keyword(In)
21:12 Integer(0)
21:14 Keyword(Until)
21:20 Integer(6)
21:21 Newline
22:5 Identifier("log")
22:8 LeftParen
22:9 String([Hole { source: "i", location: Location { line: 22, column: 11 } }, Text("! = "), Hole { source: "factorial(i)", location: Location { line: 22, column: 18 } }])
22:32 RightParen
22:33 Newline
23:3 Keyword(End)
23:6 Newline
24:3 Identifier("log")
24:6 LeftParen
24:7 String([Text("20! = "), Hole { source: "factorial(20)", location: Location { line: 24, column: 15 } }])
24:30 RightParen
24:31 Newline
25:3 Keyword(Return)
25:10 Keyword(Nothing)
25:17 Newline
26:1 Keyword(End)
26:5 Keyword(Fn)
26:8 Identifier("main")
26:12 Newline