CurryInfo: curry-repl-1.2.0 / REPL.Main.printAllLoadedModules

definition:
printAllLoadedModules :: ReplState -> IO ()
printAllLoadedModules rst = do
  putStrLn "Currently loaded modules:"
  let mods = currMod rst : addMods rst
  mapM getSrc mods >>= putStr . unlines . map fmtSrc
 where
  getSrc m = lookupModuleSource (loadPaths rst) m >>=
             return . maybe (m,"???") (\ (_,s) -> (m, s))

  fmtSrc (m,s) = m ++ take (20 - length m) (repeat ' ') ++ " (from " ++ s ++ ")"
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
--- Print all Curry programs in current load path.
--- Programs found in subdirectories are assumed to be hierarchical.
--- To avoid loops in cyclic directory structure, we put a depth limit
--- on the recursive search.
failfree:
<FAILING>
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{(_) |-> _}
name:
printAllLoadedModules
precedence:
no precedence defined
result-values:
_
signature:
REPL.State.ReplState -> Prelude.IO ()
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term