It would be incredible to me if someone could write some commentary about this for the non-lisper. Skimming it now, it seems very familiar to me (as in, I don't really see anything about it that expresses anything particularly beautifully), but I might be missing some of the finer points. Overall, I recognize a lot of familiar code that I've written for games in javascript. It's hard to appreciate the aesthetics of this, since I'm not familiar with the language.
My guess is that the author is new to common lisp. It's the only CL project in his github account, and he wrote it using vim. Most people who have been using SBCL for a while will use emacs with SLIME as it is the recommended IDE for using SBCL.
So I wouldn't expect it to contain any particularly awesome lisp-isms. My first read made me think it was using multiple-dispatch, but it isn't doing so in a way that wouldn't also be possible in a language with overloading, as no more than 1 parameter is ambiguously typed at function call time.
I suppose that's better. Great Lispers are statistically unlikely to be using Vim, but the number of people using Vim is so large that merely using Vim isn't damning evidence that code is poorly written.
"There are 4 parentheses at the end of that call to cons. How do Lisp programmers deal with this? They don't. You could add or subtract a right paren from that expression and most wouldn't notice. Lisp programmers don't count parens. They read code by indentation, not parens, and when writing code they let the editor match parens (use :set sm in vi, M-x lisp-mode in Emacs)."
He mentioned the editor second. The fact that it was the only CL project in his github first. In my perspective he mentioned the editor as a weaker circumstantial evidence.
Hi, author here. I am new to Lisp (about 4 months in) and I've been a happy Vim user for many years, so I'm not finding the transition to Emacs very easy. I am trying, though.
I'm a very happy vim user too. Sadly, short of commercial IDEs, developing lisp without slime is like developing Java without eclipse or intellij; it's just an inferior way to interface with the language.
For vim users, the two choices are vim+slimv and emacs+evil. I find evil to be closer to vim than slimv is to a good slime experience, but that can change. Also, if you have any vim plugins that you really depend on then slimv probably edges out evil.
On the other hand I started out several years ago with viper plus a bunch of hand-coded elisp functions to use my most commonly-used vim commands, so we've come a long way.