1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
module Main where
import Control.Applicative
import Control.Monad
import Test.DocTest
import System.Directory
import System.FilePath
findHs :: FilePath -> IO [FilePath]
findHs dir = do
fs <- map (dir </>) <$>
filter (`notElem` ["..","."]) <$>
getDirectoryContents dir
subDirs <- filterM doesDirectoryExist fs
files1 <- filter ((`elem` [".hs", ".lhs"]) . takeExtension) <$>
filterM doesFileExist fs
files2 <- concat <$> mapM findHs subDirs
return $ files1 ++ files2
main :: IO ()
main = do
files <- findHs "Numeric"
putStrLn $ "testing: " ++ unwords files
doctest files
|