さて、気分を変えて ArrowLoop をやります。論文に書いてある loop f b = let (c,d) = f (b,d) in c の意味が全く分からなくて Arrow の勉強が一ヶ月近く停滞していたのですが、id:MaD さんが素晴らしい解説 http://d.hatena.ne.jp/MaD/20070818 を書かれているので自分なりに写経します。loop を使って普通のループを作るには、引数として関数を一つ与えます。関数の型は (b,d) -> (c,d) のような入出力ともタプルとします。よくある図で示すと、タプルの後ろの引数がくるりと入力に繋がれる形をしています。 import Control.Arrow nonsense (b, d) = (b + 1, d * 2) -- *Main> loop nonsense 1 -- 2 -- このしようも無い例では、b +
小学校、中学校、高校までは数学が得意だったけど、大学で習う数学はよく分からないという人は意外と多いのではないでしょうか?大学以上の数学が小、中、高に比べて習得しにくい本質的な原因は何なのか考えてみましょう。原因が分かれば大学以上の数学も学びやすくなるはずです。 ●小、中、高の数学 小、中では整数や有理数、実数を習いました。 また、中、高では、初等関数( )なんかを習いましたし、集合の概念も学びました。図で書くとこんな感じです。 高校までにやっていたことを振り返ってみると主に集合の中の要素を取り出して和の計算や積の計算を練習していたことが分かります。例えば、3+5=8という計算は整数の集合から3と5を取り出して足すと整数の集合の中の8になり, という計算は2次以下の多項式の集合から と を取り出して足すと2次以下の多項式の集合の中の になるということをたくさん練習しました。小、中、高では扱う
Hmm, so some progress. We’ve managed to reduce the storage in the Go 1.5 64 bit case, but the others appear unchanged, especially Go 1.5’s 32 bit case. For the Go 1.5 64 bit case, the padding that we saw above is still there, but it has moved. Effectively what the compiler is seeing is this: type ProgInfo struct { Reguse uint64 // registers implicitly used by this instruction Regset uint64 // regi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く