Why aren't you using Factor /tech/?
https://www.factorcode.org/
Sure it's a concatenative language and that's obscure as hell but it turns out using functional composition can lead to a lot of elegance.
USING: kernel sequences unicode ;
IN: palindrome
: normalize ( string -- string' ) [ Letter? ] filter >lower ;
: palindrome? ( string -- ? ) normalize dup reverse = ;
Consider the simple example they use for palindromes.
Without using any variables, and with only function composition it can express a very robust word for finding palindromes. This function will even go as far as finding if
"A man, a plan, a canal: Panama" is a palindrome.
Some of factors main merits:
Fast (SBCL level, which puts it far above many other languages)
Multi-paradigm with an Object System approaching CLOS capabilities.
Introspective and Exception system close to or exceeding Common Lisp
Meta Programming capabilities possibly exceeding Common Lisp
-- Because there are hardly any variables you get to use defmacro as if it were a hygenic macro because there's no variables that can be accidentally captured.
No Cruft and possibly the most beautiful layout of any src directory I've ever seen.
Massive standard library with plenty of stuff to make good applications now.
Hands down one of the greatest C FFI's I've ever seen. (And I've looked at/used many)
Image based development with a fully featured REPL that possibly even rival's slime.
For deployment you can specify exactly what you want to be included leading to the ability to produce extremely small executables. (Unlike most Lisp's where you keep the image and have to lug around a many MB image)
The ability to actually view a closure's contents on the stack. Since you can use quotations like [ 3 + ] to produce a curried lambda function which you can place directly on the stack you get to view [ 3 + ] instead of something like lisp's (Compiled-Closure x03408342) or Haskell's "Sorry can't show that".
And for the final benefit the possibility to implement a linear type algorithm (or uniqueness types) goes pretty hand in hand with concatenative programming which is pretty freaking awesome if you look into it.
Common Lisp is dead. Factor is the new Lisp. So why not give it a shot?