A Brief Beginner's Guide To Clojure
unexpected-vortices.com
unexpected-vortices.com
It's even easier with Emacs 24, as the starter kit can be installed via a package as well. Current best practise is to put all the packages you need in your init.el file, then when you start Emacs, it'll download and install any packages you're missing.
You have a section "Other Libraries" and a section "Finding the Libraries You Want", which cover essentially the same ground, but are strangely split up. So the former mentions the Clojure wiki page, and the latter mentions clojure-toolbox and other third-party library lists. Maybe they should all be in one section?
Other things... "lein deps" isn't really necessary anymore, as Leiningen checks for dependencies before running each command.
I think you also need to mention that you can effectively forgo the group-id and have [foo "1.0"] (which is the same as [foo/foo "1.0"]).
Pushing to Clojars is easier with the "lein-clojars" plugin. Then it's just a "lein push" away.
Anyway, it's kind of orthogonal to learning Clojure, so it seems a bit out of place here. Perhaps a second article would make more sense, though contributing to the official documentation would of course be much better.
Regarding Emacs, yes, I guess I'm a bit behind the cutting edge. I'll probably revisit the section of the Guide once I make the upgrade to Emacs 24. Meantime though, I don't think the instructions are too onerous, and --- as I mention at the top --- if you've already got a favorite editor, you safely skip the whole section.
Re. the "Other Libraries" vs. "Finding the Libraries you Want", thanks for pointing that out. I removed some duplicated info and feels better now.
Re. `lein deps`, it could've been clearer, so I made it so. Thanks.
Re. group-id, thanks for pointing that out. I'll get that clarified soon.
Re. lein-clojars, I like the instructions as is, because I think it will give new users a more concrete feel of what's going on when they upload packages to Clojars.
I wasn't aware of that, how does that work? Obviously just `require`'ing the packages is not sufficient.
https://github.com/technomancy/emacs-starter-kit
Basically it uses a combination of `package-installed-p` to check if the package is installed, and `package-install` to install said package if it is not.
Note this is for Emacs 24, which comes with `package.el` preinstalled.
Very unfortunate, IMHO.
I didn't think to mention its roots on that page, given that it's one of the first things mentioned on the main clojure.org page.
Added a note about it being a Lisp dialect.
Btw,
git config --global core.editor nano
This made me smile :)> "If you're using [...] another OS (tsk tsk tsk) [...]"
I develop on Mint and Gentoo, so any joking here is probably passing over me. Other than a jab at MS (and maybe Apple), does this mean that programming in Clojure would/could be difficult outside of Linux?
You should've seen it before though! Had to scale it back from "or another OS ({folds arms} {slowly shakes head} [long sigh] tsk tsk tsk)". ;)