読者です 読者をやめる 読者になる 読者になる

mainでputStrをmapする方法

前回分からなかった件、簡単に書くとこんな感じ。 main = mapM putStrLn ["hoge", "piyo", "fuga"] mapでも良さそうな気がしてしまうが駄目。mapMでもmapM_でも問題なく動くようなのだが。理由を自分なりにまとめた。 putStrLn Prelude> :t putStrLn putStrL…

Hakellの型シグネチャを読む練習

ひたすら読む。読めねばならぬ。ghciを起動し:tだ。 Prelude> :t 'h' 'h' :: Char 'h'は「Char型」。 Prelude> :t "hoge" "hoge" :: [Char] "hoge"は「Char型のリスト」である。 Prelude> :t (True, 'a') (True, 'a') :: (Bool, Char) (True, 'a')は「タプル…

Haskellで作る奇妙なプログラミング言語 Haskell練習問題編

Rubyで作る奇妙なプログラミング言語 をHaskellで追った。 最初の章は言語の練習。もう勉強したことを忘れてきているのでちょうどいい。 1-1 Haskell練習問題 問1 画面に「Hello, world!」という文字列を出力するHaskellプログラムを書いてください。 main =…

Haskell 勉強記 (1週間分)

1週間の休みをとったので、Haskellを書いてみたくなった。 6/13(月) 初日 「すごいHaskellたのしく学ぼう!」を読み始めた。 今日は全体を見通した。Kindle版で見る場合、全体の80%を読めばよいようだ。残りはほぼ索引。 モナドとモノイドの違い (というか名…