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

definition:
createDirectoryR :: DLevel -> String -> IO ()
createDirectoryR dl maindir =
  let (drv,dir) = splitDrive maindir
   in createDirectories drv (splitDirectories dir)
 where
  createDirectories _ [] = return ()
  createDirectories dirname (dir:dirs) = do
    let createdDir = dirname </> dir
    dirExists <- doesDirectoryExist createdDir
    unless dirExists $ do
      debugMessage dl 3 ("Creating directory '" ++ createdDir ++ "'...")
      createDirectory createdDir
    createDirectories createdDir dirs
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
-- creates directory (and all needed root-directories) recursively
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_,_) |-> _}
name:
createDirectoryR
precedence:
no precedence defined
result-values:
_
signature:
Analysis.Logging.DLevel -> String -> Prelude.IO ()
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term