2013年のClojure界隈はcore.asyncが話題ですが、今回は非同期処理にcore.asyncは使いません。 今回はcore.asyncの代わりにalephというライブラリを使って、WebSocketを使った簡単なデモアプリケーションを作ってみようと思います。サーバーとクライアントの両方をClojureで実装します。 alephは、同じ作者のlaminaという非同期プログラミングライブラリをベースに、nettyを使ってHTTP/WebSocket/TCP/UDPのI/Oをサポートしたライブラリです。 core.asyncと同様に、laminaではchannelと呼ばれるキューにメッセージを出し入れすることで非同期処理をサポートしています。 laminaにはchannel以外にも様々な機能がありますが、今回はchannel以外の機能は使わないので解説しません。(というか解説できるほ