diff options
| author | Michael Williamson <mike@zwobble.org> | 2025-02-02 20:13:05 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2025-02-02 20:13:20 +0000 |
| commit | 89394d0fab076765b637b0fe643d8f8950639817 (patch) | |
| tree | 6852b4f81fd7f7812bb208df52b4e0cc8b1bcbdf /examples/31-effect-handler-nested/src/Example.shed | |
| parent | 67f010c93b11744b1f2f1c9403fd1e8d2b888acb (diff) | |
Add int arithmetic example
Diffstat (limited to 'examples/31-effect-handler-nested/src/Example.shed')
| -rw-r--r-- | examples/31-effect-handler-nested/src/Example.shed | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/examples/31-effect-handler-nested/src/Example.shed b/examples/31-effect-handler-nested/src/Example.shed new file mode 100644 index 00000000..2a8e4781 --- /dev/null +++ b/examples/31-effect-handler-nested/src/Example.shed @@ -0,0 +1,42 @@ +effect A { + fun a() -> Unit; +} + +effect B { + fun b() -> Unit; +} + +pub fun main() ! Io -> Unit { + try { + A.a!(); + + try { + A.a!(); + + try { + A.a!(); + B.b!(); + A.a!(); + } handle B { + fun b() { + print!("b\n"); + resume; + } + } + + A.a!(); + } handle A { + fun a() { + print!("a inner\n"); + resume; + } + } + + A.a!(); + } handle A { + fun a() { + print!("a outer\n"); + resume; + } + } +} |
