SUSE Package Hub 15 one-click install Install ghc-pathwalk NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-Standard-Pool Package Hub 15 Dummy repo - this will fail ghc-pathwalk Path walking utilities for Haskell programs "System.Directory.PathWalk" is an implementation of Python's excellent os.walk function. Given a root directory, it recursively scans all subdirectories, calling a callback with directories and files it finds. Importantly, it calls the callback as soon as it finishes scanning each directory to allow the caller to begin processing results immediately. Maximum memory usage is O(N+M) where N is the depth of the tree and M is the maximum number of entries in a particular directory. > import System.Directory.PathWalk > > pathWalk "some/directory" $ root dirs files -> do > forM_ files $ file -> > when (".hs" `isSuffixOf` file) $ do > putStrLn $ joinPath [root, file]. SUSE Package Hub 15 one-click install Install ghc-pathwalk NOTE: This one-click installation requires that the SUSE Package Hub extension to already be enabled. See http://packagehub.suse.com/how-to-use/ for information on enabling the Package Hub extension If the extension is not enabled, this installation will fail while trying to enable an invalid repo. This package might depend on packages from SUSE Linux Enterprise modules. If those modules are not enabled, a package dependency error will be encountered. SUSE-PackageHub-15-Standard-Pool Package Hub 15 Dummy repo - this will fail ghc-pathwalk Path walking utilities for Haskell programs "System.Directory.PathWalk" is an implementation of Python's excellent os.walk function. Given a root directory, it recursively scans all subdirectories, calling a callback with directories and files it finds. Importantly, it calls the callback as soon as it finishes scanning each directory to allow the caller to begin processing results immediately. Maximum memory usage is O(N+M) where N is the depth of the tree and M is the maximum number of entries in a particular directory. > import System.Directory.PathWalk > > pathWalk "some/directory" $ root dirs files -> do > forM_ files $ file -> > when (".hs" `isSuffixOf` file) $ do > putStrLn $ joinPath [root, file].