8 ms·
Learn Emacs Lisp in 15 Minutes (2013)
- Amorymeltzer 11y agoThe whole http://learnxinyminutes.com/ http://learnxinyminutes.com/ site is pretty excellent. There's some variability here and there - I think python spends too much time on numbers? - but if you're looking to get your feet wet before hacking about, it's a good resource.
- elwell 11y agoFTFY: Learn Emacs Lisp Syntax in 15 Minutes Lisp syntax is simple; the learning curve is in the difference of technique. I'm assuming the learner is coming from an imperative language background.
- yarrel 11y agoThe syntax is what scares people off, though.
- kleiba 11y agoAgreed. In Emacs hacking -- which presumably is what most people would want to use Elisp for -- the syntax is typically not the problem. Knowing how to interact with Emacs' libraries and its way of doing things is much more intricate. At least once you go beyond smaller aux functions and such.
- chriswarbo 11y ago> I'm assuming the learner is coming from an imperative language background. Well, Emacs Lisp is pretty imperative: it doesn't optimise tail calls, so loops are often needed; its distinct namespaces/special-forms for functions and "values" (which includes anonymous functions) makes functional style less attractive in some situations; many tasks are achieved through destructive update of (often temporary) buffers; Emacs itself is controlled by mutating dynamic or global variables; etc. I would say Emacs Lisp is much closer to imperative languages like Python, than it is to syntactically-similar languages like Scheme, for example.
- lispm 11y ago> so loops are often needed I'm a Lisp user and have learned and used Scheme in projects. I strongly prefer loops over tail recursive iteration. I also prefer higher-order functions like map/reduce/filter/... over tail recursive explicit variants.
- agumonkey 11y agoTrue, and emacs is quite a large thing, with API from IPC to URL, XML, binary parsing, text rendering, non overlapping window management, etc etc. That's from vanilla distribution, then there's user made packages and since it's a lisp ... So RTFM hard, or read existing code hard or harass #emacs hard (non exclusive choices).
- thinkling 11y agoI'd love to see this extended to cover the basics of customizing emacs, especially the structures and techniques involved in modes and mode customization.
- davorb 11y agoI would recommend doing the exercises in ielm (press M-x and type ielm), instead of lisp-interaction-mode.
- ef4 11y agoI think the biggest gotcha for people used to other mainstream languages is the dynamically-scoped variables. Watch out for those. Especially when you think you're closing over them.
- systems 11y agoany news about emacs-guile?
- sundarurfriend 11y agoIf the Neovim hadn't existed by now, this would quite probably have convinced me to switch to Emacs. A sane, and actually elegant, programming language to interact with my editor? Gasp!