fugafuga.write

日々のログ

すごいH本 part25

サンタさん、5000兆円ください

ポイントフリースタイル

この関数を

sum' :: (Num a) => [a] -> a
sum' xs = foldl (+) 0 xs

こう書き換えられる

sum' :: (Num a) => [a] -> a
sum' = foldl (+) 0

fold (+) 0 はリストを受け取る関数を返すため

他の例

fn x = x ceiling (negate (tan (cos (max 50 x))))

関数合成を使って書き換える

fn = ceiling . negate . tan . cos . max 50

このように簡潔に書けるようになるが、関数合成のチェインはあまり長くしないようにするのが吉らしい。

所感

adventar.org

1人アドベントカレンダー最終日でした。最後の方は記事書く時間がとれなくて大変でしたが、なんとか続けることができました。 新しいことを始めるにあたっては、継続が一番難しいと思っているのでそれが達成できたことは良かったなと感じています。アドベントカレンダーはこれで終わりですがH本やりきるまでは続けます。

数学を勉強したい気持ちがより高まってきた。数学ガール読もう。

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

  • 作者: MiranLipovaca
  • 出版社/メーカー: オーム社
  • 発売日: 2017/07/14
  • メディア: Kindle版
  • 購入: 4人 クリック: 9回
  • この商品を含むブログを見る