Игрушечный пример, но все равно разочаровывает:
numberMapper:: IO ()
numberMapper = do codes <- forM [1 .. 4] (\num ->
do putStrLn $ "Enter a code for " ++ show num
code <- getLine
return code)
let numberCodes = zip [1 .. 4] codes
in forM numberCodes (\(num,code) ->
putStrLn $ "Got code " ++ show code ++ " for " ++ show num)
ghci
говорит мне, что у меня есть Ошибка синтаксического анализа в шаблоне: putStrLn
, и я не могу понять, почему он не может быть синтаксическим анализом.