CurryInfo: runcurry-3.0.0 / RunCurry.getNewProgramName

definition:
getNewProgramName :: IO String
getNewProgramName = do
  pid <- getPID
  genNewProgName ("RUNCURRY_" ++ show pid)
 where
  genNewProgName name = do
    let progname = name ++ ".curry"
    exname <- doesFileExist progname
    if exname then genNewProgName (name ++ "_0")
              else return progname
demand:
no demanded arguments
deterministic:
deterministic operation
documentation:
-- Generates a new program name for temporary program:
failfree:
()
indeterministic:
referentially transparent operation
infix:
no fixity defined
iotype:
{() |-> _}
name:
getNewProgramName
precedence:
no precedence defined
result-values:
_
signature:
Prelude.IO String
solution-complete:
operation might suspend on free variables
terminating:
possibly non-terminating
totally-defined:
possibly non-reducible on same data term