lookupRedShellCmd :: IO (Either String String)
lookupRedShellCmd = do
  reducecmd <- getEnvDef "HETS_REDUCE" "redcsl"
  -- check that prog exists
  noProg <- missingExecutableInPath reducecmd
  let f = if noProg then Right else Left
  return $ f reducecmd


-- | connects to the CAS, prepares the streams and sets initial options
lookupRedShellCmd :: IO (Either String String)
lookupRedShellCmd = do
  reducecmd <- getEnvDef "HETS_REDUCE" "redcsl"
  -- check that prog exists
  noProg <- missingExecutableInPath reducecmd
  let f = if noProg then Right else Left
  return $ f reducecmd


-- | connects to the CAS, prepares the streams and sets initial options
lookupRedShellCmd = do
  reducecmd <- getEnvDef "HETS_REDUCE" "redcsl"
  -- check that prog exists
  noProg <- missingExecutableInPath reducecmd
  let f = if noProg then Right else Left
  return $ f reducecmd


-- | connects to the CAS, prepares the streams and sets initial options