Álvaro Ramírez
Modern Emacs lisp libraries
Quickly finding related built-in elisp functions (without prefixes) can sometimes take a little poking around.
Some modern and predictable built-in exceptions I now reach out to are:
- map.el for key/values, alists, hash-tables and arrays (built-in as of Emacs 25.1).
- seq.el for sequence manipulation functions (built-in as of Emacs 25.1).
- subr-x.el has a handful of string functions (built-in as of Emacs 24.4).
- let-alist.el wonderful syntax for alists, great for json (built-in as of Emacs 25.1).
If you don't mind reaching out to third-party libs (you likely have some of these already installed), here are some modern, predictable, and well-documented ones that always get me out of trouble:
- s.el string manipulation.
- f.el file/path handling.
- dash.el for lists.
- ht.el for hashtables.
- ts.el for date and time.
I'm happy with built-ins like map.el, seq.el, and let-alist.el. subr-x.el is also pretty nice, although not as full-featured as third-party s.el.
Am I missing out on other modern built-ins or third-party libraries?
UPDATE: Added a handful of newly discovered libraries plus suggestions by Daniel Martín (thanks!). Not tried any of these myself.
- rtree.el binary tree that stores ranges (Built-in).
- ov.el simple way to manipulate overlay.
- Toby Cubitt's libraries (heap, overlays, queue, avl-tree, trie, dict-tree, etc).
- shadchen.el pattern-matching.
- m-buffer.el buffers.
- esxml.el xml and html.
- a.el associative structures.
- asoc.el association list library.
- yk-color.el linear RGB color manipulation.
comments on twitter