ポーリングせずにファイルを監視する haskell ライブラリ関数はありますか?
ポーリングを使用すると、次のようになります。
monitor file mtime handler = do
threadDelay n -- sleep `n` ns
t <- getModificationTime file
if t > mtime
then handler >> monitor file t handler
else monitor file mtime handler
私が欲しいのは、システムによって起こされるブロッキング getModificationTime のようなものです。利用できるものはありますか?
それが posix システムでのみ利用可能であれば、私は完全に幸せですが、移植性が高いほど良いです :-)
編集: hinotifyは知ってが、Mac を使用しています (そのため、POSIX について言及しています)。