aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/impure-concept.lisp12
1 files changed, 12 insertions, 0 deletions
diff --git a/examples/impure-concept.lisp b/examples/impure-concept.lisp
new file mode 100644
index 0000000..e612339
--- /dev/null
+++ b/examples/impure-concept.lisp
@@ -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!) and (let!).
+
+; pure function
+(let! f (\[x] x))
+
+; impure function
+(let! g (\![x] (print! x)))