New infrastructure for tracking changes in files and values
A FileMonitor is an abstraction for monitoring the status of files, as well as changes in an in-memory value. Files can be tracked by file modification time, or mod time plus content. We can also track files that are expected not to exist (to help implement search paths). We can also have file globs. The abstraction is useful for re-running actions when input files or values change. This pattern is captured by the Rebuild monad. This adds a dependency on the hashable package (used by unordered-containers). If this is a problem we can extract just the hash function we need. This is not used yet, so there's a temporary import just to make sure it gets compiled.
Showing with 1114 additions and 0 deletions
This diff is collapsed.