summaryrefslogtreecommitdiffstats
path: root/2021/talks/devel.md
blob: 3cb9412a994f61263ae5ba196238bf23f5178327 (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
60
[[!meta title="Don't write that package! or: How I learned to stop worrying and love emacs-devel"]]
[[!meta copyright="Copyright © 2021 Stefan Kangas"]]
[[!inline pages="internal(2021/info/devel-nav)" raw="yes"]]

<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Don't write that package! or: How I learned to stop worrying and love emacs-devel
Stefan Kangas

[[!inline pages="internal(2021/info/devel-schedule)" raw="yes"]]

We need a successful Emacs on this planet.  This means that we need an
excellent out-of-the-box experience -- one that just works, but that you
can still hack and customize.  There is so much great experimentation
and work going on out there in the wider Emacs community, but we would
be even better off if more of that could go into Emacs itself.

Emacs' greatest strength is unfortunately sometimes also its greatest
weakness: it is *too* hackable.

On occasion, people out there add stuff to their Init file to fix this
or that annoyance, or even bug.  The more ambitious might go on to
package up such fixes: "Hey, 'foo-mode' doesn't have support for
'bookmark-set', let's write a package!"  I am here to suggest that you
should not do that.

You should submit a patch to Emacs!  Maybe more people have that same
problem or annoyance, and would benefit from your solution?

It is sometimes perceived as hard to contribute to Emacs core.  I want
to encourage more people to get involved, and show that the barrier to
entry is really not that high.  If I can do it, you can do it too!

So should you really write that package, or should you stop worrying and
learn to love emacs-devel?  Listen to my talk to find out more!

# Discussion

- I can imagine using bindat to improve Emacs's music player packages e.g. reading/writing metadata tags
- I hadn't heard of Poke until today
- Curious: how is gnu poke more flexible?
- I was surprised to see that a whole new DSL was developed for poke from scratch.
- I'll ask what I also asked Andrea earlier: What hobbies/interests do you have besides Emacs (and PL)?  :)
- Do you think would have been better to develop/improve a library like bindat on top of an existing language instead?
- What are some of your favorite talks from this conf so far?
- If you ever write a library for window management in Emacs, you could call it winnie.el :)
- How do you see more control over types (type hints/decl through type specifiers etc) (SBCL like programming model) coming into Elisp?
- Do you plan to add bit-level support?
- I think this is classic problem that is almost impossible to accomplish
  - many libraries try to do that but in the end the only  working ones are relaying on C compilers
- also you have the problem of size of objects
- like how big is a long?
- this is not specified and is arch dependent
- parsing a generic .h file is way more difficult
- yep, the automatic translation is more for libraries trying to write automatically C bindings

[[!inline pages="internal(2021/captions/devel)" raw="yes"]]

[[!inline pages="internal(2021/info/devel-nav)" raw="yes"]]