summaryrefslogtreecommitdiffstats
path: root/2024/talks/transducers.md
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2024-09-22 08:27:26 -0400
committerSacha Chua <sacha@sachachua.com>2024-09-22 08:27:26 -0400
commit2eaeead1bf58d51937c5de0308b9a533d60479c3 (patch)
treed9de132e7ab0ad722252c7d50ef5c80e8d606efd /2024/talks/transducers.md
parent1e11c428c4839e92843bb0facdfa787fefe208ee (diff)
downloademacsconf-wiki-2eaeead1bf58d51937c5de0308b9a533d60479c3.tar.xz
emacsconf-wiki-2eaeead1bf58d51937c5de0308b9a533d60479c3.zip
add casual, flp, hyperdrive, shell, theme, transducers
Diffstat (limited to '2024/talks/transducers.md')
-rw-r--r--2024/talks/transducers.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/2024/talks/transducers.md b/2024/talks/transducers.md
new file mode 100644
index 00000000..5abe4371
--- /dev/null
+++ b/2024/talks/transducers.md
@@ -0,0 +1,47 @@
+[[!meta title="Transducers: finally, ergonomic data processing for Emacs!"]]
+[[!meta copyright="Copyright &copy; 2024 Colin Woodbury"]]
+[[!inline pages="internal(2024/info/transducers-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# Transducers: finally, ergonomic data processing for Emacs!
+Colin Woodbury (he) - <https://x.com/@fosskers> , @fosskers@m.fosskers.ca on Mastodon, <https://www.fosskers.ca>
+
+[[!inline pages="internal(2024/info/transducers-before)" raw="yes"]]
+
+Transducers are an ergonomic and extremely memory-efficient way to process a
+data source. Here "data source" means simple collections like Lists or
+Vectors,
+but also potentially large files or generators of infinite data.
+
+Transducers&#x2026;
+
+- allow the chaining of operations like map and filter without allocating memory between each step.
+- aren't tied to any specific data type; they need only be implemented once.
+- vastly simplify "data transformation code".
+- have nothing to do with "lazy evaluation".
+- are a joy to use!
+
+In this talk, Colin will introduce Transducers, show how to use them, and
+demonstrate some Emacs-specific workflows that make live processing of large
+data sets in JSON and CSV a breeze.
+
+About the speaker:
+
+Colin has been active in the FOSS world since 2011, publishing libraries and
+applications primarily in Haskell and Rust. Since 2023 he has been using
+Lisps
+more and more, and after falling in love with Transducers from Clojure has
+ported the pattern to three other Lisps.
+
+Colin is originally from Canada and lives in Japan.
+
+
+
+[[!inline pages="internal(2024/info/transducers-after)" raw="yes"]]
+
+[[!inline pages="internal(2024/info/transducers-nav)" raw="yes"]]
+
+