diff options
Diffstat (limited to 'examples/effects-concept.lisp')
| -rw-r--r-- | examples/effects-concept.lisp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/examples/effects-concept.lisp b/examples/effects-concept.lisp new file mode 100644 index 0000000..efca43e --- /dev/null +++ b/examples/effects-concept.lisp @@ -0,0 +1,19 @@ +; FUNCTIONS + +(let prompt-input (\[] + (let p "> ") + (do get-user-input "prompted" p))) + +; SIGNAL HANDLERS + +(on user-input (\[msg s] + (match msg + "prompted" (batch [ + (do print-line (fmt "You entered: %%" [s])) + (prompt-input)]) + (batch [ + (do fatal-error (fmt "error: unknown signal %%" [msg]))])))) + +;; ENTRYPOINT + +(prompt-input) |
