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

しんどい

テスト勉強しんどい...1/30, 1/31, 2/1の三日間がストレートフラッシュ的にやばい試験が溜まってるんだよなぁ.木曜からこの三日間のための勉強できるやんって思ってたら, あと明日一日になっちゃった...きちんと寝ておきたいしにゃぁ...ってかストレートフラ…

Arrow golfなんていうのも面白いかもしれない

短い関数をArrowのコンビネータで組み直す競技.競技であるから, 一応ルールを書いとかなきゃね. 使える関数は, Prelude/Control.Arrowでエクスポートされているもの. 関数hogeを実装せよ, とは, hogeを変数を使用せず書けということである. hoge x = fst x …

これはArrowに関する記事を書くという記事です

書きます.Arrowについてなんか分かったので, いつか必ず書きます.Arrowというのは決して読めないコードを書くためのものではありません.それは, 計算の本質です. 関数型言語に触れた人ならば, 計算の本質はλ計算と言うかもしれません.確かにλ計算は素晴らし…

最近プログラム書いてないなぁって

ホントに全然プログラムを書かなくなった学校の課題のプログラムはまぁ書いたけど, 自発的に書いたものといえば... あれ...12月の最後にmp3のタグから画像を読んだ(読もうとして難しくて失敗した)のが最後かも... よく考えれば, 今季に入ってずっと何かしら…

Control.Arrowでエラトステネスの篩, 階乗

エラトステネスの篩の前に, 階乗をArrowでやります. 理由はおいおい分かります. 階乗を普通に fact n = if n == 0 then 1 else n * fact (n - 1) main = print $ fact 10 3628800 流石にこれはいいですね. はい.Arrowに急ぐ前に, まずfixを使って書きましょ…

Control.ArrowでFibonacci

フィボナッチの綴りが分からなくてググったのは内緒です.先にControl.ArrowでFizzBuzz - プログラムモグモグの方を読んで下さい.ArrowにはArrowLoopってのがあって, コイツがなかなか面白い. これを使ったらフィボナッチ数列が出来る. 例えばhttp://d.hatena…

Control.ArrowでFizzBuzz

もうね, 何番煎じか分からないよ. それでもFizzBuzzは飽きないから奥が深いよね.昨日からArrowを初めて, 取り敢えずGeneralising Monads to Arrowsにさっと目を通した. 良い論文だった. つーこって, FizzBuzzを書いてみよう(お約束!!!まず最初に書いたコ…