LYH 8.2 Hello, World!

8.2 Hello, World!

main = putStrLn "hello, world"

これをhelloworld.hsとして保存し、

$ ghc --make helloworld

と入力する。コンパイルされて、helloworldという実行ファイルが作成される。

8.2 確認問題

  1. putStrLnの型を調べよ。(:t putStrLnの結果を示せ)
  2. putStrLn "hello, world"の型を示せ。
  3. putStrLnの型を言葉で説明せよ。
  4. helloworld.hsをコンパイルし、helloworldという実行ファイルを作成するコマンドを示せ。
  5. 実際にI/Oアクションが行われるのはいつか。

解答

  1. putStrLn :: String -> IO ()
  2. putStrLn "hello, world" :: IO ()
  3. putStrLnは文字列を引数にとり、() (空のタプル。unit型)を結果とするI/Oアクションを返す。
  4. $ ghc --make helloworld
  5. mainという名前をつけてプログラムを起動すると実行される。