summaryrefslogtreecommitdiff
path: root/examples/test.gn
blob: ffb4ca48c87463e7589f26f8930c5c8e7b382ee8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
?? Comments begin with a ?
??!insert "usage.gn".
??!insert "math.gn".

??!entrypoint <- main.

?? Type definitions begin with the name wrapped in ()
(add <- Int <- Int) -> Int.
?? add a b -> a + b.

(addFive) -> (Int -> Int).
?? addFive -> add 5.

?? (main) -> Int ? (effects -> IO).
(main <- Int) -> Int.
?? Function definitions begin with the name and have an ->
?? main argc -> match (x <- argc) (
??     (x == 1) -> println "One arg",
??     (x > 1) -> println "More args",
??     (x < 1) -> !unreachable,
?? ).