TL;DR

Lisp Flavoured Erlang の略。名前のとおり、BEAM(Erlang VM)上で動く Lisp である。Java に対する Clojure のような位置づけにある。

なぜ必要か

公式サイトは「気軽な Lisp ではなく、分散アプリケーションを作りたい人のための Lisp」と説明している。Erlang の耐障害性や高い並行性、OTP との統合を、Lisp の構文で使える。

仕組み

関数と変数の名前空間が分かれた Lisp-2 であり、マクロや同図像性(homoiconicity)を持つ。REPL の中で関数やマクロを定義できる。Erlang と同じく、グローバルな値や変更可能なデータを持たず、ガード付きのパターンマッチやホットコードアップグレードを使える。

関連

出典