blob: e96b7af28eca713f0d66013f3a9cffdcedfc8383 (
plain) (
tree)
|
|
[[!meta title="Old McCarthy Had a Form"]]
[[!meta copyright="Copyright © 2021 Ian Eure"]]
[[!inline pages="internal(2021/info/form-nav)" raw="yes"]]
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# Old McCarthy Had a Form
Ian Eure
Live Q&A: <https://bbb.emacsverse.org/b/ban-zxh-gqp-pwf>
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"]]
|