name: pathwalk version: 0.2.1.0 synopsis: Path walking utilities for Haskell programs description: Simple directory tree walking utilities. license: MIT license-file: LICENSE author: Christine Dodrill maintainer: xena@yolo-swag.com homepage: https://github.com/Xe/pathwalk category: System build-type: Simple cabal-version: >=1.10 description: "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] source-repository head type: git location: https://github.com/Xe/pathwalk library exposed-modules: System.Directory.PathWalk build-depends: base >=3 && <5 , directory >=1.2 , filepath >=1.3 , transformers >=0.4 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall executable example main-is: Main.hs build-depends: base, pathwalk hs-source-dirs: examples/example default-language: Haskell2010 ghc-options: -Wall executable stoprecursing main-is: Main.hs build-depends: base, pathwalk hs-source-dirs: examples/stoprecursing default-language: Haskell2010 ghc-options: -Wall