Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Learn Emacs Lisp in 15 Minutes (2013) (emacs-doctor.com)
135 points by CodeHustler on Nov 12, 2015 | hide | past | favorite | 14 comments


FTFY: 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.


> 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.


> 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.


Agreed. 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.


True, 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).


The syntax is what scares people off, though.


I'd love to see this extended to cover the basics of customizing emacs, especially the structures and techniques involved in modes and mode customization.


M-x customize!

Here's a great website: https://www.masteringemacs.org

You're right though, a basic "bootstrap your .emacs" tutorial would be very helpful.


Hardcore vim user seconds this.


The whole 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.


I would recommend doing the exercises in ielm (press M-x and type ielm), instead of lisp-interaction-mode.


If 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!


I 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.


any news about emacs-guile?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: