summaryrefslogtreecommitdiffstats
path: root/2020/info/32.md
diff options
context:
space:
mode:
Diffstat (limited to '2020/info/32.md')
-rw-r--r--2020/info/32.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/2020/info/32.md b/2020/info/32.md
new file mode 100644
index 00000000..8097de9c
--- /dev/null
+++ b/2020/info/32.md
@@ -0,0 +1,16 @@
+The venerable Gnus newsreader has evolved over the years to interface
+with many different types of news- or mail-like backend programs,
+presenting all of them using a unified interface. This sort of
+software often calls for an object-oriented architecture, at least as
+regards polymorphism, yet Gnus was written well before Emacs lisp
+acquired the object-oriented tools and libraries – largely borrowed
+from Common Lisp – that it boasts today.
+
+Yet Gnus needed something "object-oriented-like", and so nnoo.el was
+born: a rather amazing (and frankly terrifying) implementation of
+object-oriented behavior using functional code.
+
+This talk will be a brief introduction to how this existing system
+works, and to the ongoing, incremental effort to port it over to newer
+Elisp tools like generic functions, structs, and objects.
+