長方形の面積と周を求める

学部四回生がうんこプログラム組んでますよ
これに一時間かかりますた^q^


いやね、本読んでてもさっぱり頭に入らないので。
作ってみた方が早いよねっていう。

module Main (
) where

main =
    do
        rl ←  readLn
        rl2 ←  readLn
        let 
            w :: Int
            h :: Int
            w = rl
            h = rl2
        print $ area w h
        print $ around w h

area :: Int →  Int →  Int
area w h = w * h

around :: Int →  Int →  Int
around w h = 2*w + 2*h


しょしんしゃなのでわかりましぇん


・readLnがふたつあるのがきめぇけどどうしたら二回入力取れるのか分からん。モナド使うのかしらん?
・というかモナドって何?^q^ doはモナドに関連しているらしいですよ。さっぱりですけど。
・w::Intとかきめぇ。本当は liftIO (readLn::IO Int)的な事をしたかったので
 import GHC.IOBase (liftIO)を書くとparse errorを吐かれる。なんで?
・入力は「3 4」みたいな感じで空白で区切たかったが改行しないと無理。空白区切のIOモナドないのん?
・レイアウトに慣れん。オフサイドルールとも言うらしいですね。ピピーッオフサイド


意味わからなさ過ぎてわろた。
いやぁ、昔やさしいC++を初めて読んでた頃を思い出しますなぁ。