úÎ-”+P     Safe&File modification time in millisecondsIs the file a directoryNone}A class for watching a directory based on functional reactive programming At the core of this class are three event streams: changedFiles is a stream of s on changed filesnewFiles is a stream of canonicalized s of newly created files deletedFiles is a stream of canonicalized s of deleted files/Each type provides a default watcher for a passUAn event that gives some info on changed files (disjunct from deleted and new files) %An event that fires for each new file )An event that fires for each deleted path AFree all possibly used resources. No event will fire after this. :Merge two watchers that are watching different directories *Create a watcher on all of the given paths    NoneGWatch files in this directory recursively for changes every n seconds.SRecursively traverse a folder, follow symbolic links but don't visit a file twice.MRecursively traverse a folder, follows symbolic links, doesn't loop however.XList all files that have a larger modification time in the second map than in the first=List all files that occur in the second map but not the first =List all files that occur in the first map but not the second!\Fork a thread that continuously polls the given paht and compares the results of two polls. "seconds interval path to watch !Push new files / dirsPush deleted files / dirsPush changed files / dirsSeconds between polls# " !#None!" 3Provides a callback based interface to an FRP base Id of a callback in a $+Raise the callback id of a callback watcher%&Add an action to unregister a callback>Wrap a file watcher in a datatype that allows adding callbacks>Add a callback that is executed when file deletion is detected>Add a callback that is executed when file creation is detected Add a callback on a changed filejUnregister the given CallbackId from the FileWatcher does nothing if the CallbackId is not in the watcherIRemove all callbacks form the watcher. They will not be called after this9Remove all callbacks and close the underlying FileWatcher&HAdd a listener to an event, return the action to unregister the listener'()*+$% An IO action on the deleted pathAn IO action on the new pathAction on changed file&   '()*+$%&(c) Christof Schramm 2015LGPL v2Christof Schramm ExperimentalNoneIN3Build a file watcher, this method will change later6Build a file watcher that allows to register callbacks  ,      !"#$%&'()*+,-./0delta_3cRbFw5J2JVI9SJa4aRN1oSystem.Delta.BaseSystem.Delta.ClassSystem.Delta.PollSystem.Delta.Callback System.DeltaFileInfo fileInfoPathfileInfoTimestamp fileInfoIsDir mkFileInfo FileWatcherdefaultWatcher changedFilesnewFiles deletedFilescleanUpAndClose mergeWatchers watchPaths PollWatchercreatePollWatcherCallbackWatcher CallbackId withCallbackswithDeleteCallbackwithNewCallbackwithChangedCallbackunregisterCallbackremoveAllCallbackscloseCallbackWatcherdeltaDirdeltaDirWithCallbacksbaseGHC.IOFilePathrecursiveDescentrecursiveDescent'diffChangedFiles diffNewFilesdiffDeletedFilesstartWatchThread$fFileWatcherPollWatcherraiseIdaddCallbackUnregistercallbackOnEvent baseWatchernextCallbackIdwatcherCallbacks