Oh -- also libevent, described at http://www.monkey.org/~provos/libevent/ :
Currently, libevent supports /dev/poll, kqueue(2), event ports, select(2), poll(2) and epoll(4). The internal event mechanism is completely independent of the exposed event API, and a simple update of libevent can provide new functionality without having to redesign the applications. As a result, Libevent allows for portable application development and provides the most scalable event notification mechanism available on an operating system. Libevent can also be used for multi-threaded applications; see Steven Grimm's explanation. Libevent should compile on Linux, *BSD, Mac OS X, Solaris and Windows.
Thanks, Matt. I see libev is available via macports. - ConalOn Fri, Dec 4, 2009 at 3:03 PM, Matt Morrow <moonpatio@gmail.com> wrote:
Conal,
If I were looking to do this, I'd read the relevant parts of the libev code.
Matt
On 12/3/09, Conal Elliott <conal@conal.net> wrote:
> I'd like to make some FRPish toys that keep files updated to have functional
> relationships with other files. hinotify looks like just the sort of
> underlying magic I could use for efficient implementation on linux. Is
> there any support for mac os x? Could support be either added to hinotify
> or maybe inotify and a mac-friendly library be abstracted into a common
> Haskell interface? I'm fine with an imperative interface, since I can
> abstract into a functional library, which I guess would be a sort of
> persistent simplified FRP.
>
> - Conal
>