blob: 08b25c1d4fff5f41ca29129d4e84bb98441e84e7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
[[!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
[[!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
- 5-10 minutes: (brief description/outline)
- What is CLOS/EIEIO?
- Why would I want OOP in Emacs Lisp?
- How is the CLOS object model different from C++/Java/.NET?
- Further reading
<!--
- 20 minutes: (brief description/outline)
- What is CLOS/EIEIO?
- Why would I want OOP in Emacs Lisp?
- How is the CLOS object model different from C++/Java/.NET?
- Generic functions
- Methods which implement those functions
- Specializers
- Further reading
- 40 minutes: (brief description/outline)
- What is CLOS/EIEIO?
- Why would I want OOP in Emacs Lisp?
- How is the CLOS object model different from C++/Java/.NET?
- Generic functions
- Methods which implement them
- Specializers
- Example interface & demo
- Classes
- Slots
- Initializing instances
- Cloning & other miscellany
- Inheritance
- Method qualifiers
- Further reading
- Q&A
-->
[[!inline pages="internal(2021/captions/form)" raw="yes"]]
[[!inline pages="internal(2021/info/form-nav)" raw="yes"]]
|