一方で、エリクソン社内で非常によく使われたため「」にちなんで命名されたと一部の人々は思っている。
関数型言語.
のソースコードの例を示す。
次のソースコードはによるクイックソートのアルゴリズムの実装である。
再帰呼び出しはソート処理の対象が無くなった時点で終了する。
このようにではリストを非常に簡単に扱うことができる。
次のソースコードではリストをリスト要素の長さを基準にしてソートする。
並行処理指向で分散処理指向の言語.
の主な特長は、並行処理のサポートである。
における並行処理は、複数の「プロセス」を生成し、それらの間で通信を行うための、簡潔で強力な機能群によって支えられている。
これ以降の記述ではにおける「プロセス」を括弧無しで言及する。
におけるプロセス間の通信は、非共有かつ非同期のメッセージ転送システムによって行われる。
のプロセスは全てそれぞれの「メールボックス」をもつ。
メールボックスには他のプロセスから受信したメッセージが格納される。
その後、メールボックスに格納されたメッセージがメールボックスを所有するプロセスによって処理される。
メッセージを得る過程ではパターンマッチングが行われる。
まずメッセージ制御ルーティンが1番目のメッセージに対して各パターンがマッチするかどうか調べる。
マッチングは、マッチするメッセージに出会うまで行われる。
メッセージが処理されると、メッセージはメールボックスキューから除去され、プロセスは復帰して続きの処理を行う。
の構成要素は何であれメッセージとして使うことができる。
の基本要素である整数、浮動小数点数、文字、アトムも、またタプル、リスト、さらには関数さえも、メッセージとして扱うことができる。
ソースコードの例を示す。
では異なるノード (コンピュータ) に分散した複数のプロセスを互いに連携させて動作させるためのサポートも組み込みで備えている (分散処理) 。
プロセスは遠隔のノードに生成することができ、遠隔ノード上のプロセスとのプロセス間通信は透過的である。
すなわち、遠隔ノード上のプロセスとのプロセス間通信は、同じノード上のプロセスとのプロセス間通信と全く同じように行われる。
での並行処理では、エラー処理の基本的な方法をサポートしている。