Open e-dant opened 1 month ago
Python and Node.js are mostly done. I want to test them a bit more before uploading to pip and npm.
Haskell and Ruby were trickier.
Haskell doesn't compile C++ correctly. Their use of gcc seems to ignore a bunch of include paths and options needed to compile C++ correctly. A workaround might be a custom Setup.hs, but writing that in a way that's amenable to packaging isn't something I know how to do yet.
Ruby's Fiddle (ffi) module has some odd behavior when creating bindings for functions which take non-builtin types. Like void* wtr_watcher_open(char const*, struct wtr_watcher_event)
was problematic for Ruby. A workaround might be to write a Ruby extension (instead of just interface with a shared library).
There are some very high-level languages with ecosystems which could benefit from this filesystem watcher.
This is an efficient, reasonably well tested filesystem watcher with a small, relatively stable API.
There isn't much to expose or package.
I think this is mostly a matter of figuring out the "right way" to expose a library with a C ABI to these languages, and then just doing it.