CurryInfo: verify-non-fail-2.0.0 / Verify.ProgInfo.getModInfoFor

definition:
 
getModInfoFor :: IORef ProgInfo -> String -> IO ModInfo
getModInfoFor piref mname = do
  pi <- readIORef piref
  maybe (addModInfoFor piref mname >> getModInfoFor piref mname)
        return
        (lookup mname (progInfos pi))
demand:
 no demanded arguments
deterministic:
 deterministic operation
documentation:
 
Gets the info for a module with a given name.
If it is not already stored, read the module and store it.
failfree:
 <FAILING>
indeterministic:
 referentially transparent operation
infix:
 no fixity defined
iotype:
 {(_,_) |-> _}
name:
 getModInfoFor
precedence:
 no precedence defined
result-values:
 _
signature:
 Data.IORef.IORef ProgInfo -> String -> Prelude.IO ModInfo
solution-complete:
 operation might suspend on free variables
terminating:
 possibly non-terminating
totally-defined:
 possibly non-reducible on same data term