Starting to Hack on Steel Bank Common Lisp
pvk.ca
pvk.ca
It's also a great example of the power of macros. If you look at the backend, things like define-vop and the like, it does a lot of things using macros that e.g. LLVM uses an external code generation tool (tblgen) to accomplish.
[1]http://benchmarksgame.alioth.debian.org/u64/program.php?test...
[2]http://benchmarksgame.alioth.debian.org/u64/program.php?test...
// From a HN newbie who's already wondered this
That's the point of Common Lisp: It gives you enough rope. Some people use it to hang themselves, others use it to selectively optimize the parts that need it, still others use it to optimize the whole thing.
In Erlang the culture is to write your code in a straightforward way and you accept the performance you get. "Inner loop" code looks much like any code. It's a point of pride that you stick with the same style throughout and don't burn brain cycles looking for tricks.
In Common Lisp the culture is to write performance-critical inner loops in a very different way to other code. So although the code on the shootout page looks weird compared to most Common Lisp code, it does look like code that a Lisp programmer would write when they are in deep optimization mode.
I don't think I would ever write something like the code linked above. Half of it is not standard Common Lisp, and not even part of SBCL's official extensions. At that level, you could write custom assembly, which kinda defeats the point of having a language shout-out IMO.
That said, I agree with your point ... is seems to me pointless to effectively program in assembly in another language and then claim that the wraper language is faster/better ... given enough determination, you can do the same with most other languages and it proves nothing.