aboutsummaryrefslogtreecommitdiffstats
path: root/examples/impure-concept.milch
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2022-12-05 14:19:12 +0200
committerJan Tuomi <jans.tuomi@gmail.com>2022-12-05 14:21:53 +0200
commit4002b8988c799a904ef1f359d4267ef4ad80cba3 (patch)
treedbb67560f3a44c57df4b0e960861f60605ceb45f /examples/impure-concept.milch
parentbba047ae945ae7d7899d6e2c1610923bcedb0442 (diff)
Rename project to Milch
Diffstat (limited to 'examples/impure-concept.milch')
-rw-r--r--examples/impure-concept.milch12
1 files changed, 12 insertions, 0 deletions
diff --git a/examples/impure-concept.milch b/examples/impure-concept.milch
new file mode 100644
index 0000000..893b29e
--- /dev/null
+++ b/examples/impure-concept.milch
@@ -0,0 +1,12 @@
+; What color is your function?
+; Impure functions are functions that can call both pure and impure functions.
+; Pure functions can only call pure functions.
+; Impure function names end in an exclamation mark (!) by convention.
+; The top-level context is impure but has special rules
+; related to `import!`, `let!`, and other builtins.
+
+; pure function
+(let! f (\[x] x))
+
+; impure function
+(let! g! (\![x] (print! x)))