人気ブログランキング | 話題のタグを見る

Haskell の要点

しばらく Haskell を扱っていなかったら使い方をすっかり忘れていた。次のプログラムは Haskell を思い出すために ghci で入力するためのもの。これを毎日やっていたら、再び Haskell を勉強するモチベーションが沸いてくるかもしれない。

高階関数とλ記法
Prelude> map (\x->x*x) [1..5]
[1,4,9,16,25]

再帰関数、ghci の複数行入力
Prelude> :{
Prelude| fact 0 = 1
Prelude| fact n = n * fact (n-1)
Prelude| :}
Prelude> fact 5
120

遅延評価
Prelude> take 5 [1,3..]
[1,3,5,7,9]

畳み込み
Prelude> foldr (*) 1 [1..5]
120

IOモナド
Prelude> getLine >>= putStrLn
hello, world
hello, world

do 記法と read, show 関数
Prelude> :{
Prelude| do
Prelude|    ns <- getLine
Prelude|   let n = (read ns :: Int) * 2
Prelude|    putStrLn (show n)
Prelude| :}
2
4

明日からこれを空でやれるように練習しよう。あと、代数的データ型のサンプルを入れたいが使い方を忘れている。

by tnomura9 | 2018-10-04 19:10 | Haskell | Comments(0)
<< ghci でシーザー暗号 帰謬法 >>