aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/wiki_src/technical/reduction.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/wiki_src/technical/reduction.md')
-rw-r--r--docs/wiki_src/technical/reduction.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/wiki_src/technical/reduction.md b/docs/wiki_src/technical/reduction.md
index e69de29..97bd78f 100644
--- a/docs/wiki_src/technical/reduction.md
+++ b/docs/wiki_src/technical/reduction.md
@@ -0,0 +1,12 @@
+# Reduction
+
+Bruijn uses the RKNL abstract machine reducer[^1]. RKNL uses the
+call-by-need reduction strategy, similar to Haskell and other functional
+programming languages. For you this means that you have efficient
+support for [laziness](../coding/laziness.md) with generally less
+redundant reductions.
+
+[^1]: [Biernacka, MaƂgorzata, Witold Charatonik, and Tomasz Drab. "A
+ simple and efficient implementation of strong call by need by an
+ abstract machine." Proceedings of the ACM on Programming Languages
+ 6.ICFP (2022): 109-136.](https://doi.org/10.5281/zenodo.6786796)