有効な文字列を入力すると文字列の内容を読み取る解析関数にユーザーの入力を送信する無限ループを作成しようとしています。
main :: IO ()
main = do
putStrLn ("\n" ++ "This is blah :" ++ "\n" ++ "=================================")
putStrLn ("Valid Inputs" ++ "\n" ++ "=================================")
loop
--Infinite Loop
---------------------
loop :: IO()
loop = do
input <- getLine
if input == ""
then return()
else do
parse input
print input
loop
--Main Parsing Function (Does't work)
--------------------
--parse:: String -> String
--parse (x:xs) = if x == 'a' then 'b':parse xs
--else x:parse xs
私の質問は、ユーザー入力を解析関数に送信するにはどうすればよいですか。エラーが発生しました
Iで推論タイプIO t
を言うと、次のparse :: String -> String
ように変更します。
parse:: IO String -> String
次に、推論type [a]
などという別のエラーが発生します。