Для идиоматического кода CL это переписать.
- CL является обязательным, Clojure - более «функциональным».
- CL является объектно-ориентированным (CLOS), Clojure нет (использует объекты Java и имеет несколько OO-механизмов)
- Идентификаторы и синтаксис в основном разные.
- Структуры данных различны.
- CL в основном строгий (не ленивый), Clojure использует ленивые вычисления.
Даже перенос необходимой инфраструктуры (CLOS, Error Error, Streams) в Clojure не имеет особого смысла, поскольку Clojure - это действительно другой язык с другим стилем программирования.
Если кто-то не хочет переписывать код, есть, например, ABCL , который является Common Lisp для JVM.