Yeah I think that idea of creating a language for the domain is really cool. I have read that both Lisp and Smalltalk development tend to work that way and it gives amazing productivity.
It has made me long ponder why these languages never got more succesful. I have seen someone remark that this approach is very powerful for small teams but doesn't really scale. Hence larger corporations couldn't easily do this. Not sure if that is true or not but certainly sounds somewhat plausible.
Personally I think that the Lisp syntax is hard to get used to. I tried many times in the past with Racket. I think I never wrote anything larger than about a thousand lines of Racket code.
For me Julia ended up being a sort of workable Lisp. I know it isn't quite the same, but the metaprogramming in Julia is close enough I feel that I get to experience some of that Lisp power.
Once you get used to multiple-dispatch I feel that Lisp is actually a bit limiting. You get so far in Julia without actually defining macros but by simply using Multiple dispatch.
But it is hard to see how Julia could have existed without all the inspiration from Lisp. And Julia is of course a far more complex language to implement. Part of the beauty of Lisp to me is that it can be implemented by almost anyone in very few lines of code.
Haskell is pretty cool, but I think it is a lot less accessible to people. It takes longer time to wrap your head around. It isn't something anyone can implement easily themselves. I think it is pretty cool how people can realistically implement a Lisp interpreter within a single computer science course.