インタプリタ
Erlang
Elixir
しかしながら、インタプリタかしか存在しない言語があるが故に、「インタプリタ言語」や「コンパイラ言語」と区別されているのが現実である。インタプリタは実行中何度もプログラムを再解釈するため、ダイナミックディスパッチ(英語版)やダイナミックバインディング、リフレクション、動的型付けのような機能を実現することが容易である。一方、コンパイラは事前にCPUで実行できるように変換するだけで実行には関与しないため、実行中に振る舞いを変更したいときはそのためのプログラムを別途用意しなければならないケースがほとんどである。さらに、自前の言語から既存の何らかの表現に変換するには、その表現と対応付けるための知識と技術が必要であり、言語機能が大規模化や複雑化するほど、既存の表現との互換性をできるだけ確保しながら、自前の言語での振る舞いを実現することは難しくなる。中間表現も自前であれば、変換する手間はずっと楽になる。