タグ

ブックマーク / kazu-yamamoto.hatenablog.jp (2)

  • 2011年に Haskell を始める人のために - あどけない話

    適切な一歩を踏み出すか否かは、大きな違いを生みます。この記事では、2011年に Haskell を始める人のために、著者が考える最適な入門方法を示します。 Haskell Platform をインストールする 昔人気のあった Hugs は、もう保守されていません。現在は、GHC の時代です。GHC とライブラリをパッケージ化した Haskell Platform をインストールして下さい。 インタープリタが使いたい場合は、付いてくる ghci を使います。 コンパイラ -- ghc インタプリタ -- ghci スクリプト -- runghc GHC マニュアルの日語訳もあります。 プログラミングHaskell 次に、プログラミングHaskellを読んで関数プログラミングの「こころ」を理解しましょう。 プログラミングHaskell 作者: Graham Hutton,山和彦出版社/メー

    2011年に Haskell を始める人のために - あどけない話
  • Haskellでサーバーを書く - あどけない話

    Haskellでメール関連のサーバーを書いていて、いろいろ調べました。かなりがっかりな結果ですが、包み隠さず書きます。 forkIO forkIO でユーザースレッドを作ると、内部では select() を使います。select() はファイル記述子を 1024 までしか扱えないという壁があって、使い物になりません。(せめて poll() を使って欲しいなぁ。) 世の中には行儀が悪いクライアントが多く、コネクションをリセットします。すると、ハンドルが失われ、明示的に hClose できません。ですから、ソケットの開放は、ガベージコレクション任せとなります。結局、1024 個のソケットを簡単に使い切ってしまうということです。 追記:GHC のガベージコレクションは優秀で、ソケットはすぐに回収されることが分かりました。 forkOS forkOS ではカーネルスレッドを作ります。内部では pt

    Haskellでサーバーを書く - あどけない話
  • 1