aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-10-29 00:00:04 +0100
committerMichael Williamson <mike@zwobble.org>2023-10-29 00:00:04 +0100
commit8daf1429c8b0e612d77f8582982d8f15835fbeb1 (patch)
treea0f2a6fe6dec7cc8c5017ec80a784dc5a6064989 /examples
parent186407bd0ecf485f7197027afd04c8c12e5920ce (diff)
Add function expressions example
Diffstat (limited to 'examples')
-rw-r--r--examples/18-function-expression/shed.toml7
-rw-r--r--examples/18-function-expression/src/HelloWorld.shed11
2 files changed, 18 insertions, 0 deletions
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");
+}