From 8daf1429c8b0e612d77f8582982d8f15835fbeb1 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 29 Oct 2023 00:00:04 +0100 Subject: Add function expressions example --- examples/18-function-expression/shed.toml | 7 +++++++ examples/18-function-expression/src/HelloWorld.shed | 11 +++++++++++ 2 files changed, 18 insertions(+) create mode 100644 examples/18-function-expression/shed.toml create mode 100644 examples/18-function-expression/src/HelloWorld.shed (limited to 'examples') diff --git a/examples/18-function-expression/shed.toml b/examples/18-function-expression/shed.toml new file mode 100644 index 00000000..bf5c13c4 --- /dev/null +++ b/examples/18-function-expression/shed.toml @@ -0,0 +1,7 @@ +[[shed.bins]] +name = "hello-world" +main-namespace = "HelloWorld" + +[[shed.examples]] +bin = "hello-world" +expected-output = "hello, world" diff --git a/examples/18-function-expression/src/HelloWorld.shed b/examples/18-function-expression/src/HelloWorld.shed new file mode 100644 index 00000000..1ebb2863 --- /dev/null +++ b/examples/18-function-expression/src/HelloWorld.shed @@ -0,0 +1,11 @@ +fun printer(left: String) -> fn (String) ! Io -> Unit { + fn (right: String) !Io -> Unit { + print!(left); + print!(right); + } +} + +pub fun main() ! Io -> Unit { + printer("hello")!(", "); + printer("world")!("\n"); +} -- cgit v1.2.3