I prefer Haskell.
I already know How to create my own language with a procedural language (for example, C, Java, Python, etc.).
But I know how to create your own language with a functional language (eg Haskell, Clojureand Scala).
Haskell
Clojure
Scala
I had read:
/? .
: . .
- , ( ), . ML ( , , , ).
Racket ( PLT Scheme) - , .
:
, - .
Take a look also at Compiler.HOOPL and Control.Unification and uuagc attribute grammar preprocessor. You can also read https://wiki.ittc.ku.edu/lambda/images/e/e3/Modular-interpreters.pdf when writing modular interpreters in Haskell. Also note that Parsec is not very fast and for non-toy projects, Happy / Alex could be better.