[[!meta title="Old McCarthy Had a Form"]] [[!meta copyright="Copyright © 2021 Ian Eure"]] [[!inline pages="internal(2021/info/form-nav)" raw="yes"]] # Old McCarthy Had a Form Ian Eure Name Pronunciation: (EE-un YOU-r) Pronouns: he/him/his Preferred contact info: ian@retrospec.tv / ieure on Libera [[!inline pages="internal(2021/info/form-schedule)" raw="yes"]] Most practical languages are multi-paradigm, offering several abstractions for the programmer. But did you know that Emacs Lisp comes with a powerful system for object-oriented programming? Join me for a discussion of EIEIO, and learn how it can help you write more modular, flexible Emacs Lisp. # Outline - What is EIEIO? - Why OOP? - The CLOS Model - Classes - Generic Functions - Methods - Specialization - Method Qualifiers - Multiple Inheritance - Nice Properties - Practical Examples - Encapsulation - Example: `transmission.el` - Abstraction - Example: `sql.el` - Extensibility - Example: comint - Conclusion [[!inline pages="internal(2021/captions/form)" raw="yes"]] [[!inline pages="internal(2021/info/form-nav)" raw="yes"]]