モナド
全国1億2千万人の F# ファンの皆様いかがお過ごしでしょうか。理解できるわけもないとわかっていながらも調子に乗って「型システム入門 プログラミング言語と型の理論」を買ってしまった系の痛いおじさんです。10年後、20年後にわかることができてたら…
年末年始の連休から中五日あっての三連休で、正月ボケをぶり返してしまいそうな今日この頃ですが、いかがお過ごしでしょうか。 すごいH本こと、書籍「すごいHaskellたのしく学ぼう!」の最後のほう、第14章「もうちょっとだけモナド」の 14.8 (P356)にて、…
もう1週間以上前になりますが、Code2012という合宿イベントに参加してきました。いろいろな方との交流あり、温泉あり、クラウディアさんありと大変楽しかったので、ぜひ来年も参加したいです。 で、VBerのくせにそちらで「5分じゃわからないモナド - 圏論な…
発売されてすぐにPSVitaのP4Gをダウンロードしたのだが、どちらかというとエヴィディ・ヤングライフ・VB6♪な生活を送っていてなかなかプレイする暇がなくてつらい。今日はGoAzureのゆーすと見たり、この記事をこしらえていたりな休日を過ごしていましたが、…
椎名林檎「自由へ道連れ」をヘビロテしすぎて脳内無限ループしている今日この頃ですが、皆様いかがお過ごしでしょうか。 時事ネタとしては旬を逃した感じですが、簡素なコンプガチャシミュレータをF#で書いてみました。 とは言っても、この記事で伝えたいこ…
4月14日に札幌で行われた第69回CLR/H勉強会にて、「Retry Monad for Transient Fault Handling - F#とWindows Azure と私 -」と題して、ライトニングトークで発表しました。 Retry monad for transient fault handling View more presentations from zecl123…
以前、C#で順列(Permutation)と組み合わせ(Combination)をすべて列挙してみようという記事を書きました。 今見ると、前に思っていた以上に「しょっぱいなぁ」と思わざるを得ませんが、C#で書き直すつもりになれません。 今回は、超イケてる言語のF#で書きま…
前回のエントリでモナドについて熱く語りました。今回はゆるいモナドの雑記です。 モナドを利用してFizzBuzz問題を書いてみることで、「モナドってなんなん?なにしてくれちゃってるん?」ということが、 もしかしたら分かるかもしれないよ、という息抜き的…
,. -‐'''''""¨¨¨ヽ (.___,,,... -ァァフ| あ…ありのまま 今 起こった事を話すぜ! |i i| }! }} //| |l、{ j} /,,ィ//| 『F#でIOモナドっぽい何かを作ろうとしていたら、 i|:!ヾ、_ノ/ u {:}//ヘ いつのまにか、全然別モノのLazyモナドをつくっていた。』 |リ u'…
id:einblickerさんが、「F#で継続モナド - einblickerの日記」というステキな記事を書いてくださいました。グッジョブすぎる! 以前、F#で継続渡し形式(CPS)変換を抽象的に考えてみたら、それってつまりHaskellの継続モナドみたいなものでした。ということで…
前回のエントリ「F#でRxる。よく訓練されたF#erはコンピューテーション式をつくる。」で紹介いたしました、 Observableコンピューテーション式について補足します。モナド則を満たしているか否かについてです。 Haskellにおいて、モナドがモナド則を満たして…
Parsec(Haskell)のApplicativeスタイルがやばすぎるので、FParsecでApplicativeスタイルしてみた。 FParsecとはFParsec とは Haskell のパーサ・コンビネータライブラリ Parsec をF#に移植したものです*1。 では、パーサ・コンビネータとはなんでしょうか。…
[前置き] 継続とはプログラミングにおいて「継続」とは、ある計算のある時点における「残りの計算」を表す概念のこと。 つまり、ある計算過程の瞬間におけるその過程の未来全体を表すものを意味する。 プログラミング言語で継続を扱う機能を導入すると、ユー…