レビューの話に反応してくださったみなさま、どうもありがとうございます。 人数はツッコミをもらった人 (+ RHG 読書会?) でちょうどいい感じですね。 近日中に概要を書いたメールを送りますので、気が向いたらぜひ参加をお願いします。
(20:32)
まさかと思ったけど、 Haskell でポータブルに sleep する方法ってないのか。 darcs は foreign 使って SleepEx 呼んでるし。
該当部分 (darcs-1.0.5/win32/System/Posix.hs)
foreign import ccall "winbase.h SleepEx" c_SleepEx :: CULong -> CUInt -> IO CInt sleep :: Integer -> IO CInt sleep n = c_SleepEx (1000 * fromIntegral n) 1
いやすぎる。
うーん、ポーリングするのはあきらめるか。 どうせ Windows には qmail スタイルの書き込みって通用しないし。 真面目にロックを使おう
……って、ファイルロックもポータブルなのがないじゃん! 結局 Win32API 呼ばないとだめですかそうですか
ああ、そして darcs はどう見てもポーリングしてます。 本当にありがとうございました。
Haskell でシステム関係やるのはつくづく鬼門だ。 darcs の人もよくあきらめずにここまでやったよな。
むっ、O_EXCL で open するのって Windows でも OK なのか。 これが通るならこのへんを使ってなんとかでき
いやだめだ、これは C じゃないか。 さすがに LazyLines で C を使うのはまずい。
あーもういい手抜きだ、Win32 は動けばいいや。 writeFile path content 以上終わり!
(20:50)
ちなみに章目次はこんな感じ。
第一部 1. 18 intro.re ........ Haskell最初の一歩 2. 24 basic.re ........ Haskell言語の基礎(1)関数とリスト 3. 31 list.re ......... Haskell言語の基礎(2)型と高階関数 第二部 4. 16 lazy.re ......... Haskellプログラムの評価 5. 22 expr.re ......... 基本的な構文 6. 23 function.re ..... 関数 7. 11 type.re ......... 型と値 8. 7 module.re ....... モジュール 9. 4 monad.re ........ モナド 第三部 10. 12 parsec.re ....... 実習:Wikiパーサ 11. 12 wiki.re ......... 実習:LazyLines 12. 2 after.re ........ 本書を読み終えたあとに Total 177 Kbytes
第一部がチュートリアル指向、 第二部が言語リファレンス指向、 第三部が実践となってます。
(22:45)
向井さんのやつ。
http://book.mycom.co.jp/book/4-8399-1962-3/4-8399-1962-3.shtml
0. Haskellとは 1. Haskellプログラミングひとまわり 2. 型と値と関数 3. リスト 4. 型宣言と型クラス 5. モナド 6. ゲームを作ろう 7. もっともっと Haskell
ううむ。なんかものすごく構成が似ている。 最初に行数・単語数カウントが来るのもそうだし、 ページ数と値段までほとんど同じじゃないか。 違うのは「Haskellプログラムの評価」に相当する章がないことくらい? まあその一番肝心なとこが違うからいいや。 最後の課題も Wiki のが俺好みだし (あたりまえだ)。
(22:49)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
Control.Concurrent.threadDelay :: Int -> IO ()
じゃだめ?
そんなところにあったのカー! orz
ありがとうございます。勉強不足でした。