Closures (and garbage collection for environments, which is required by closures...
[fur] / examples / 22_close_arguments.fur
diff --git a/examples/22_close_arguments.fur b/examples/22_close_arguments.fur
new file mode 100644 (file)
index 0000000..5ceee14
--- /dev/null
@@ -0,0 +1,13 @@
+def make_incrementer(increment_amount) do
+  def result(i) do
+    increment_amount + i
+  end
+
+  result
+end
+
+increment_by_one = make_incrementer(1)
+increment_by_two = make_incrementer(2)
+
+print(increment_by_one(41), '\n')
+print(increment_by_two(40), '\n')