>>25
It depends on what your application's bottlenecks are, if you truly need to micro-optimize everything, then you might be better off using C. Are you sure your algorithm couldn't be improved to get much larger speed gains than just micro-optimizing everything (for some 2-3x speed gains - aproaching C level of speed)?
Haskell doesn't usually need type declarations as it can infer types, but of course Common Lisp being dynamically typed and having standard functions accepting a large variety of types, make strong typechecking a hard problem. It would be easier by having a constrained standard library for this kind of thing, but that would not be CL anymore.
You did not specify what kind of applications you want to write that don't have any bottlenecks and the used algos are already optimal? In practice, for most applications the speed SBCL provides is more than enough, and is usually on average a few times slower than C (and many times faster than the implementation of languages discussed in this thread, such as Python or Perl - not talking about unladen-swallow here, as I don't know how it compares, just CPython. It's probably on par with JVM/CLR stuff on average, but with enough declarations it can achieve C levels of performance).