Lisp is a dangerous language that shouldn't be taught or used these days. There are plenty of superior programming techniques.

Mathematical programming - linear programming, finite domain constraint programming, constraint logic programming, logic programming, relational programming

Static functional programming - ml, haskell

A good modern introduction to programming is Concepts, Techniques, and Models of Computer Programming, by Peter Van Roy and Saif Haridi. It's far superior to the commonly mentioned lisp book Structure and Interpretation of Computer Programs.

What kind of argument is this.

> constraint logic programming, logic programming

The book you comment on actually implments a logic programming system.

Both common lisp and clojure have implmentations of high performance logic systems.

> Static functional programming

Both Clojure and Common Lisp have type systems that can do most things ml and haskell can do. Its arguable that some of this (in the CL) are even more powerful then what haskell has.

Im not sure on what the other types of programming are but the do not at sound like things that a library can not do. Can you give a example of something that you can not do in clojure or commen lisp that is possible without in these other languages that you have not actually provieded.

> Concepts, Techniques, and Models of Computer Programming

It is a very good book. However 99.99% of programming today are not done with these modern concepts. It are actually langauges like clojure that push some of the technics like constraint logic programming more into the mainstream. Check out core.logic.

> Both Clojure and Common Lisp have type systems that can do most things ml and haskell can do.

I don't know about that, Haskell has quite a few very non-trivial extensions in it's type system that I have yet to see replicated outside of research languages. ( Rank-N Types, GADTs, Kind polymorphism, etc).