Socket Example / Haskell

Haskellを使ったネットワークプログラムをテストしてみました。サーバ・クライアント通信で、クライアントから演算リクエストをサーバで実行して結果を返すというものです。Haskellのプログラムを小さな単位で重たい処理を分散実行できる点が面白いと思っています。

参考 : http://codereview.stackexchange.com/questions/8828/simple-tcp-client-memory-issues (クライアント)
http://www.catonmat.net/blog/simple-haskell-tcp-server/ (サーバ)

環境 : ghc 7.6.3 / Mac OSX 10.10.5

client.hs

server.hs

コンパイル

ghc –make client.hs
ghc –make server.hs

Serverは、コマンドを増やしています。
Clientは、ファイルに記述したコマンドの連続実行もしました。

実行結果
sock-hs01

Integerで任意精度演算(Arbitrary-precision, 自分はBignumの方が馴染みがありますが)が簡単にできるのは、便利です。