@hackage twitch0.1.7.2

A high level file watcher DSL

Twitch is a monadic DSL and library for file watching. It conveniently utilizes do notation in the style of Shake and clay to expose the functionality of the fsnotify cross-platform file system watcher.

Here is an example that converts Markdown files to HTML and reloads Safari whenever the input files change.

import Twitch
import System.Process ( system )

main = defaultMain $ do
"*.md"   |> \filePath -> system $ "pandoc -t html " ++ filePath
"*.html" |> \_ -> system $ "osascript refreshSafari.AppleScript"