Clojure Hills of Abstraction
tech.puredanger.com
tech.puredanger.com
Since I've always felt that Vim is inferior for Lisp development, I try to use Emacs. Unfortunately, I feel a million times slower in Emacs than Vim simply because I've used vim for years.
I feel like, if I wanted to feel comfortable coding in any Lisp, I would have to code non-stop in an Emacs-like environment for a year, and I haven't had the discipline to do that yet. Does anyone know how to make Vim comparable to Emacs in this regard?
swannodette 5 hours ago | link [dead]
VimClojure, http://www.vim.org/scripts/script.php?script_id=2501 slimv, http://www.vim.org/scripts/script.php?script_id=2531 -----
I made the switch because I wanted to be able to use SLIME, but it turns out that I'm not actually using Lisps that much day-to-day at the moment. I'm equally at home in both Vim and emacs now, it's not like you instantly forget how to ride that particular bike.
Personally I use it for all the modal editing goodness but I also rely on some emacs features as well such as ctrl-x ctrl-f for opening files, etc.
Vimpulse and viper got me close enough to vim where I could get things done, and learning more and more elisp, as I went along, allowed me to add or change anything that didn't feel right.
It's also worth noting that learning new ways to solve problems is fun; learning reams of new syntax is not. It's for this reason that I became frustrated when trying to learn scala after working in clojure for a while.
This is very true. Clojure was the first functional language I learned, and it was actually a ton of fun have to figure out basic things (like writing the fibonacci sequence) in a functional style. Also, Clojure introduced me to concepts I hadn't learned about with my bit of Java experience and moderate Python experience, such as lazy sequences, tail call recursion (and way more recursion in general), STM, and macros. Even though I don't write clojure very often (and not as much as I would like to), I'm still glad I took the time to learn the language just because it introduced me to so many new concepts.