Lisp Advent Calendar 2013の参加エントリです. Lisp の特徴の1つとして,マクロを使って拡張言語(埋め込み言語)がかんたんに作れるという点があります. また Lisp はファーストクラスオブジェクトとしてのクロージャを持っており,継続渡しスタイル(Continuation-Passing Style, CPS)と組み合わせると,軽量プロセスがかんたんに作れるということもよく知られていると思います. そこで Lisp が持つこの2つの特徴を生かして,小さな並行プログラミング言語を作ってみたいと思います. 処理系は Gauche を使います.以下のモジュールを使います. CSP について ここで作る並行プログラミング言語は,CSP という理論を基礎にします. CSP とは Communicating Sequential Processes の略で,並行に動作するプ