2014-10-01から1ヶ月間の記事一覧

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…

[c++]map をつかって出現する文字列にインデックスをふる方法。

c++

Topcoder の問題とかやっていて、与えられた文字の配列を動的にインデックスふる方法がぱっとおもいつかなかったのでメモ。 #define FOR(i,a,b) for(int (i)=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define RANGE(vec) (vec).begin(),(vec).end() usin…

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 は以下のよう…

blog はじめました。

主にプログラミング関連で興味もったことについて、考えたことなんかを自分用にメモとしてのこしておきます。 変なこと言ってると詳しい人が突っ込んでくれるのではと期待。