summaryrefslogtreecommitdiff
path: root/examples/test.gn
blob: 51470979d284d34322376c8312cba374aaae1006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
?? 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.

(main) -> Int ? (effects -> IO).
?? Function definitions begin with the name and have an ->
main -> match (x <- println "Hello World") (
    (x >= 0) -> x,
    (x < 0)-> add x 10,
).