blob: 00e3d4c767bac4bae506f5dd0c2ecc88e824229a (
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
|
[[!meta title="Extending Emacs in Rust with Dynamic Modules"]]
[[!meta copyright="Copyright © 2021 Tuấn-Anh Nguyễn"]]
[[!inline pages="internal(2021/info/rust-nav)" raw="yes"]]
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# Extending Emacs in Rust with Dynamic Modules
Tuấn-Anh Nguyễn
[[!inline pages="internal(2021/info/rust-schedule)" raw="yes"]]
Dynamic module support has been available since Emacs 25. It can be
used to extend Emacs with native libraries, for performance,
OS-specific features, or other functionalities that would take a lot
of time to re-implement in Lisp. The officially supported language is
C, which is tedious and error-prone to use. This talk discusses a
**safe** alternative that is also a lot **more convenient**: writing these
dynamic modules in Rust.
# Outline
- Walking through creating **a simple dynamic module** in
Rust, including setting up CI.
- Going through and explaining the **available APIs**.
<!--- 40 minutes: All of the above, together with reporting the experience
of using it in real packages (e.g. tree-sitter), as well as
discussing **challenges and potential improvements** to dynamic modules
in general.-->
[[!inline pages="internal(2021/captions/rust)" raw="yes"]]
[[!inline pages="internal(2021/info/rust-nav)" raw="yes"]]
|