aboutsummaryrefslogtreecommitdiffstats
path: root/examples/effects-concept.milch
diff options
context:
space:
mode:
Diffstat (limited to 'examples/effects-concept.milch')
-rw-r--r--examples/effects-concept.milch18
1 files changed, 18 insertions, 0 deletions
diff --git a/examples/effects-concept.milch b/examples/effects-concept.milch
new file mode 100644
index 0000000..5ea90d7
--- /dev/null
+++ b/examples/effects-concept.milch
@@ -0,0 +1,18 @@
+; 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)])
+ (do fatal-error (fmt "error: unknown signal %%" [msg])))))
+
+; ENTRYPOINT
+
+(prompt-input)