HaskellのI/O Hello World!:IO型の紹介 do表記
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT4(HaskellのI/O)、LESSON21(Hello World!:IO型の紹介)、21.2(do表記)、クイックチェック 21-3の解答を求めてみる。
単純化することはできない。実際に確認。
コード
main :: IO ()
main = do
putStrLn getLine
入出力結果(Terminal, Zsh)
% runghc sample03.hs
sample03.hs:3:12: error:
• Couldn't match type ‘IO String’ with ‘[Char]’
Expected type: String
Actual type: IO String
• In the first argument of ‘putStrLn’, namely ‘getLine’
In a stmt of a 'do' block: putStrLn getLine
In the expression: do putStrLn getLine
|
3 | putStrLn getLine
| ^^^^^^^
%