Для меня интерпретатор Interpreter очень похож на анти-шаблон, известный как десятое правило Greenspun:
Любая достаточно сложная программа C или Fortran содержит специальную, неформальную, ограниченную ошибками, медленную реализацию половины Common Lisp.
То есть, если вам нужно использовать Interpreter, вы, вероятно, создадите что-то медленное, ad hoc и плохо указанное. Правильное решение - использовать правильный язык с самого начала.
Или, в качестве альтернативы, вставьте хорошо известный и хорошо определенный язык в ваше приложение, например Guile (встраиваемая схема GNU). Или используйте Haskell в качестве встроенного языка, специфичного для домена.
Но я не видел этого на практике - каковы ваши впечатления о создании собственных встроенных языков? Это хорошая идея? Это лучше, чем встраивание уже существующего языка?
(Я не особенно поклонник lisp. Это хорошо, но так C и Haskell и python и многие другие языки.)