From 0a286901b4b91a61401cd9db3bf21353e9608725 Mon Sep 17 00:00:00 2001 From: Nic Gaffney Date: Fri, 30 Jan 2026 21:11:06 -0600 Subject: begin on parser --- examples/basics.gn | 0 examples/test.gn | 21 +++++++++++++-------- examples/usage.gn | 8 ++++++++ 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 examples/basics.gn create mode 100644 examples/usage.gn (limited to 'examples') diff --git a/examples/basics.gn b/examples/basics.gn new file mode 100644 index 0000000..e69de29 diff --git a/examples/test.gn b/examples/test.gn index 99e7ef6..5147097 100644 --- a/examples/test.gn +++ b/examples/test.gn @@ -1,11 +1,16 @@ -!use defaults -> io -> println. -!use defaults -> effects. -!use defaults -> math -> +. -!use builtin -> block. -!use builtin -> return. +?? 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) -> 0, - (x < 0)-> 1, -) + (x >= 0) -> x, + (x < 0)-> add x 10, +). diff --git a/examples/usage.gn b/examples/usage.gn new file mode 100644 index 0000000..0f8ffc3 --- /dev/null +++ b/examples/usage.gn @@ -0,0 +1,8 @@ +!use builtin -> types -> Int. +!use builtin -> operators -> +. +!use builtin -> operators -> >=. +!use builtin -> operators -> <. +!use builtin -> match. + +!use defaults -> io -> println. +!use defaults -> effects. -- cgit v1.2.3