Having an interpreter and compiler allows interesting workflows. E.g elisp users can try in the interpreter then compile when they're happy.