aboutsummaryrefslogtreecommitdiff
path: root/examples/21-function-expression
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-01-12 15:11:04 +0000
committerMichael Williamson <mike@zwobble.org>2025-01-12 15:11:04 +0000
commit027d73dea19c4154d27c77cd82dd4b28649cdf3f (patch)
treec5ef4e7e2d7bc096389c55507bae87793906a862 /examples/21-function-expression
parent57de5c166aeab88d0da164171520e962519bc999 (diff)
Support recursive project dependencies
Diffstat (limited to 'examples/21-function-expression')
-rw-r--r--examples/21-function-expression/shed-examples.json59
-rw-r--r--examples/21-function-expression/shed.json58
-rw-r--r--examples/21-function-expression/src/HelloWorld.shed11
3 files changed, 28 insertions, 0 deletions
diff --git a/examples/21-function-expression/shed-examples.json5 b/examples/21-function-expression/shed-examples.json5
new file mode 100644
index 00000000..531c665f
--- /dev/null
+++ b/examples/21-function-expression/shed-examples.json5
@@ -0,0 +1,9 @@
+{
+ examples: [
+ {
+ project: ".",
+ bin: "hello-world",
+ expectedOutput: "hello, world",
+ },
+ ],
+}
diff --git a/examples/21-function-expression/shed.json5 b/examples/21-function-expression/shed.json5
new file mode 100644
index 00000000..a6c8e563
--- /dev/null
+++ b/examples/21-function-expression/shed.json5
@@ -0,0 +1,8 @@
+{
+ bins: [
+ {
+ name: "hello-world",
+ mainNamespace: "HelloWorld",
+ },
+ ],
+}
diff --git a/examples/21-function-expression/src/HelloWorld.shed b/examples/21-function-expression/src/HelloWorld.shed
new file mode 100644
index 00000000..1ebb2863
--- /dev/null
+++ b/examples/21-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");
+}