Curry: An Integrated Functional Logic Language
Curry: An Integrated Functional Logic Language
Curry: An Integrated Functional Logic Language
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
putStr [] = done<br />
putStr (c:cs) = putChar c >> putStr cs<br />
putStrLn :: String -> IO ()<br />
putStrLn cs = putStr cs >> putChar ’\n’<br />
getLine :: IO String<br />
getLine = do c IO ()<br />
doSolve constraint | constraint = done<br />
-- IO monad auxiliary functions:<br />
-- Execute a sequence of I/O actions and collect all results in a list:<br />
sequenceIO :: [IO a] -> IO [a]<br />
sequenceIO [] = return []<br />
sequenceIO (c:cs) = do x >) done<br />
-- Map an I/O action function on a list of elements.<br />
-- The results of all I/O actions are collected in a list.<br />
mapIO :: (a -> IO b) -> [a] -> IO [b]<br />
mapIO f = sequenceIO . map f<br />
-- Map an I/O action function on a list of elements.<br />
-- The results of all I/O actions are ignored.<br />
mapIO_ :: (a -> IO _) -> [a] -> IO ()<br />
mapIO_ f = sequenceIO_ . map f<br />
56