aboutsummaryrefslogtreecommitdiff
path: root/documentation/bookmark/optimization
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/bookmark/optimization')
-rw-r--r--documentation/bookmark/optimization/lazy_evaluation.md5
-rw-r--r--documentation/bookmark/optimization/rewrite_rules.md6
-rw-r--r--documentation/bookmark/optimization/simd.md4
-rw-r--r--documentation/bookmark/optimization/tail_call.md5
-rw-r--r--documentation/bookmark/optimization/tail_recursion_modulo_cons.md6
5 files changed, 26 insertions, 0 deletions
diff --git a/documentation/bookmark/optimization/lazy_evaluation.md b/documentation/bookmark/optimization/lazy_evaluation.md
new file mode 100644
index 000000000..8e9a785fd
--- /dev/null
+++ b/documentation/bookmark/optimization/lazy_evaluation.md
@@ -0,0 +1,5 @@
+# Reference
+
+1. [Promises Are Made to Be Broken: Migrating R to Strict Semantics](http://aviral.io/static/pdfs/promises-are-made-to-be-broken.pdf)
+1. [Call-by-Need Is Clairvoyant Call-by-Value](http://www.cs.nott.ac.uk/~pszgmh/clairvoyant.pdf)
+
diff --git a/documentation/bookmark/optimization/rewrite_rules.md b/documentation/bookmark/optimization/rewrite_rules.md
new file mode 100644
index 000000000..84456b9ca
--- /dev/null
+++ b/documentation/bookmark/optimization/rewrite_rules.md
@@ -0,0 +1,6 @@
+# Reference
+
+0. [Rewrite rules](https://downloads.haskell.org/~ghc/7.0.3/docs/html/users_guide/rewrite-rules.html)
+0. https://twitter.com/ChrisRackauckas/status/1477274812460449793
+0. [Automated Code Optimization with E-Graphs](https://arxiv.org/abs/2112.14714)
+
diff --git a/documentation/bookmark/optimization/simd.md b/documentation/bookmark/optimization/simd.md
new file mode 100644
index 000000000..02cef4b5f
--- /dev/null
+++ b/documentation/bookmark/optimization/simd.md
@@ -0,0 +1,4 @@
+# Reference
+
+0. [Vectorization, dependencies and outer loop vectorization: if you can’t beat them, join them](https://johnysswlab.com/vectorization-dependencies-and-outer-loop-vectorization-if-you-cant-beat-them-join-them/)
+
diff --git a/documentation/bookmark/optimization/tail_call.md b/documentation/bookmark/optimization/tail_call.md
new file mode 100644
index 000000000..6bfccef62
--- /dev/null
+++ b/documentation/bookmark/optimization/tail_call.md
@@ -0,0 +1,5 @@
+# Reference
+
+0. [Parsing Protobuf at 2+GB/s: How I Learned To Love Tail Calls in C](https://blog.reverberate.org/2021/04/21/musttail-efficient-interpreters.html)
+0. [musttail](https://clang.llvm.org/docs/AttributeReference.html#musttail)
+
diff --git a/documentation/bookmark/optimization/tail_recursion_modulo_cons.md b/documentation/bookmark/optimization/tail_recursion_modulo_cons.md
new file mode 100644
index 000000000..e82648af6
--- /dev/null
+++ b/documentation/bookmark/optimization/tail_recursion_modulo_cons.md
@@ -0,0 +1,6 @@
+# Reference
+
+0. [Tail recursion modulo cons](https://en.wikipedia.org/wiki/Tail_call#Tail_recursion_modulo_cons)
+0. [Tail recursion, but modulo cons](https://jfmengels.net/modulo-cons/)
+0. [A faster `List.map` for Elm](https://discourse.elm-lang.org/t/a-faster-list-map-for-elm/6721)
+