#Mac だと time_t は long で、「64bit バイナリになればいいでしょう? 」ってことかな?
#Linux でも事情は同じみたい。32bit カーネルでは、time_t の大きさは 32ビットです。2038 年までに、64bit カーネルにしてね。
#あるページを同じ URL wo
#う、変になった。
#話は戻りますが、あるページを content negotiation を使って言語を切り分ける場合、別の URL にリダイレクトする方がいいです。同じ URL で複数の言語ページを提供すると、検索エンジンには英語のページしか、ひっかからなくなりますので。
#http://mew.org/ にアクセスすると、言っている意味が分かると思います。 #POSIXdeha
#POSIXではtime_tが整数型であることは要求されてないんじゃなかったでしたっけ。Gaucheはtime_tがdoubleである場合への対応コードも入っていますが、そういうプラットフォームがあるのかどうかは知りません。
#ううむ。ghc では time_t をCInt という整数に対応させているようなので、それはそれで別の問題があるということになるのかな。
#ghc というか、Cabal time package は、POSIX にあわせているので、CInt を選ぶのだと思います、非推奨の old-time は data ClockTime = TOD Integer Integer でした
#Haskell についていえば、Haskell98 では ClockTime が実際に何であるかは定義していません、また Haskell 2010 では、そもそも Data.Time がないです… (定義しないほうがよいという判断かな
#nobsun が言っているのは、Data.Time.Clock.CTimeval モジュールで呼んでいる gettimeofday が CInt 型決めうちで返すようになっているという問題ですね。
#gettimeofday を使って実装されている getCTimeval が返す型は CTimeval で、この型の表現は data CTimeval = MkCTimeval CLong CLong です。
#baseパッケージの Foreign.C.Types 型で提供されている CTime 型は使用している環境の time_t に応じたバイト表現になるはずなので、time パッケージの実装ミス(あるいは何らかの理由で変えた)といったところでしょうか?
##なお、ここまでの話は全て POSIX 環境の話で、Windows では(MinGW で提供されている gettimeofday を使わずに)GetSystemTimeAsFileTime を呼び出して 64 bit な値を返す実装になってますね。
####あっ、あと ikegami__ さんが言っていたのは、POSIX 環境の実装は POSIX に合わせているので CTime ではなく CInt を返すということですね。読み落としていました。すみません。