haskell

IO をアプリカティブとして見てみる。

IO の性質は Monad と一緒に出てくる。でも Applicative としても動くはず。 なので試してみた。1. = pure f = fmap のケース (Functor) fmap F m a -----------> m b ↑ F ↑ a -----------> bPrelude> :m Control.Applicative Prelude> ord <$> getChar r 11…

do 記法についてのまとめ。

haskell の do 記法についてまとめてみました。 haskell 本でそれまで関数プログラミングスタイルな話が続いていたのに do 記法が出てきた途端関数プログラミングっぽくなくなってしまったので。具体例から考えてみます。以下のコードは一体何をやっているの…

Monad を数学っぽく理解してみる。

Monad についてのまとめてみた。(間違ったことをいっているかもしれないけど。) * Monad m は Applicative Functor で以下を満たすもの * 以下の関数をもつ。 1. (>>=) :: m a -> (a -> m b) -> m b 2. (>>) :: m a -> m b -> m b 3. return :: a -> m a 4. …

Applicative Functor を数学っぽく理解してみる

「すごい Haskell 楽しく学ぼう!」(略してすごいH本)読んでみた。 なんで自分用に整理メモ。(間違ったこと言ってるかもしれない。) Functor や Monad が箱って話があるけどわかりにくかったので数学っぽく考えてみた。 * まず Functor Functor は以下のよう…