From a8511885eeea0d9ec39dbb24102b859342ea848d Mon Sep 17 00:00:00 2001 From: Nic Gaffney Date: Mon, 2 Feb 2026 15:49:07 -0600 Subject: Progress on parsing types --- examples/test.gn | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'examples') diff --git a/examples/test.gn b/examples/test.gn index 5147097..ffb4ca4 100644 --- a/examples/test.gn +++ b/examples/test.gn @@ -1,16 +1,21 @@ ?? Comments begin with a ? -!insert "usage.gn". -!insert "math.gn". +??!insert "usage.gn". +??!insert "math.gn". -!entrypoint <- main. +??!entrypoint <- main. ?? Type definitions begin with the name wrapped in () (add <- Int <- Int) -> Int. -add a b -> a + b. +?? add a b -> a + b. -(main) -> Int ? (effects -> IO). +(addFive) -> (Int -> Int). +?? addFive -> add 5. + +?? (main) -> Int ? (effects -> IO). +(main <- Int) -> Int. ?? Function definitions begin with the name and have an -> -main -> match (x <- println "Hello World") ( - (x >= 0) -> x, - (x < 0)-> add x 10, -). +?? main argc -> match (x <- argc) ( +?? (x == 1) -> println "One arg", +?? (x > 1) -> println "More args", +?? (x < 1) -> !unreachable, +?? ). -- cgit v1.2.3