CurryInfo: cass-analysis-4.0.0 / Analysis.Files.deleteAllAnalysisFiles

definition:
deleteAllAnalysisFiles :: String -> IO ()
deleteAllAnalysisFiles ananame = do
  analysisDir <- getAnalysisDirectory
  deleteAllInDir analysisDir
 where
  deleteAllInDir dir = do
    dircont <- getDirectoryContents dir
    mapM_ processDirElem (filter (not . isPrefixOf ".") dircont)
   where
    processDirElem f = do
      let fullname = dir </> f
      when (isAnaFile f) $ do
        putStrLn ("DELETE: " ++ fullname)
        removeFile fullname
      isdir <- doesDirectoryExist fullname
      when isdir $ deleteAllInDir fullname

    isAnaFile f = any hasAnaSuffix [".pub",".priv",".pub.rw",".priv.rw"]
     where
      hasAnaSuffix suf =
        suf `isSuffixOf` f &&
        ('.':ananame) `isSuffixOf` take (length f - length suf) f
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- Deletes all analysis files for a given analysis name.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_) |-> _}
name:
deleteAllAnalysisFiles
precedence:
no precedence defined
result-values:
_
signature:
String -> Prelude.IO ()
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term