+
+getInputLine' :: MonadException m => String -> InputT m String
+getInputLine' prompt
+ = do ret <- getInputLine prompt
+ case trim ret of
+ Just ret' -> return ret'
+ Nothing -> fail "No input"
+
+getInputLineWithDefault :: MonadException m => String -> String -> InputT m String
+getInputLineWithDefault prompt defaultStr
+ = do ret <- getInputLine prompt
+ case trim ret of
+ Just ret' -> return ret'
+ Nothing -> return defaultStr
+
+
+readInputLine' :: (MonadException m, Read r) => String -> InputT m r
+readInputLine' = liftM read . getInputLine'
+
+readInputLineWithDefault :: (MonadException m, Read r) => String -> r -> InputT m r
+readInputLineWithDefault prompt defaultValue
+ = do ret <- getInputLine prompt
+ case trim ret of
+ Just ret' -> return $ read ret'
+ Nothing -> return defaultValue
\ No newline at end of file