February 14th, 2010

  • evan


This weekend I wrote some Emacs Lisp to write some utility functions I find useful for hacking on Chromium. It's fun to have a reason to use Lisp! Since I literally am the kid-who-studied-it-in-college-but-never-used-it-in-the-real-world sort of Lisp hacker that I know to avoid letting touch any code I'd write, I would appreciate your comments. (E.g. at one point I need a function that ignores its argument and returns a string; I have it as (lambda (mode) "string") but I know in Haskell the idiomatic way to write that would have been const "string".)

PS: It turns out Emacs Lisp is not at all as scary as I had imagined; with M-x apropos and M-x describe-function it turns out it's all rather well documented, down to even the macros, and there's even nice descriptive documentation broken down by topics, and then C-x C-e will evaluate the subexpression at the point so you really can write code iteratively in repl in a way I haven't even done with purportedly repl-based languages like Python/Ruby/Haskell. I find I got most confused about when I need to quote something, since macros etc. don't make evaluation completely obvious -- like why do I need to quote on line 7?