週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
そういえば昨日の話、正確にはもうおとといの話になりますが、奇妙なものを見ました。

御殿下のトレーニング室の隅には雑誌がおいてあります。その多くはボディービルディングとかターザンとかトレーニング関連で、あと女性向けファッション誌(と言えばよいんでしょうか?)があります。ファッション誌をめくりつつサイクリングマシンをこいでいる女性ってなんか健康的でよいですよね。便秘薬の宣伝みたい..もそんな感じですがそれはちょっと。

その棚の前を通り過ぎたところ、雑誌群の中からチラッと見えたのはこのフレーズ
「メイド体型」

なんじゃそりゃ?
[いつもの誤読]の続きを読む
スポンサーサイト
すでに結果は発表されているわけですが遅れてコメント。
とりあえずITProの記事です。

初参加で13位は悪くないですがここから上は大変ですね。いわゆる世界の壁が待っています。またちょっとてこずるともっと下の順位になっていました。

チームリストの出身地にMountain Viewが多いですね。


ねんがんの フリーウエイト免許を てにいれたぞ
ドーピング牛乳スープことプロテインがなくなってきました。

「ダイエットにしても筋力アップにしても、プロテインは飲んだほうがいいよ。筋肉痛軽減にもなるし。」という友人の助言に従い、先月からプロテインを飲んでいます。

買ったら買ったで「え、バニラ買ったの?まずいからやめたほうがいいのに。イチゴ味ならイチゴの粒とかが入っていて意外においしいからいいけど。」といわれるのはご愛嬌。

そんな危険なプロテインもイチゴミルクに混ぜたりココアを混ぜたりしていたら慣れてしまい、今では牛乳とプロテインだけで十分に飲めてしまいます。

さてそのプロテインがなくなりそうだったので、生協まで購入に。
http://www.weider-jp.com/products/supplement.html
お勧めのストロベリー味は15個限定。。しかもグラムあたりの値段が1.5倍位します。バニラが余裕で飲める今となっては買う意味はありません。

もうひとつ興味深い代物が、バニラ味超徳用3kg。ちなみに前回買ったのは1.2kgです。グラム単価で一割引になりますが、さすがに3kgはちょっと重いと思います。袋もでかくて威圧感があります。

結局
http://asahisports.co.jp/dns-wheyp.htm
ぜんぜん違う会社のものを買ってしまいました。1kgのイチゴ味。こっちのほうが元のやつより安かったのです。
そういえば三連休の間にNewMarioを買ってきたんでした。
やる閑ないと思って放置していましたが、初期不良があったりすると困るので一回だけやることにしました。とりあえずセーブできるところまで。

一人目: 1-1で最初のジャンプの後最初のクリボーの目の前に着地して倒れる。
二人目: 1-塔で挟まれる。

そして今塔を抜けたところです。次回はいつになるかわかりません。
四時間歌って、帰ってきて、

冷凍機になっています。

Thermodynamics and Garbage Collectionより
a garbage collector is a refrigerator
月をなめるな冬樹蛉さんのページの日記より。
ずいぶん古い話らしいです。ちょっと違う英語版もあります。

ところで月面上で昼だとどのくらい被爆するんだろう。後で調べることに。

なめるなという言葉遣いはともかく、こういうときに突っ込みをいれるのが理系の任務だとおもいます。お仕事的にはそういう態度は若死にするかしら。
The Haskell School of Expression: Learning Functional Programming through Multimedia

読み終わりませんでした。半分、Reactive Robotsとかその辺まで読んでCS図書館に返却しました。

序盤は楽勝でしたが、中盤アニメーションを扱うあたりから急激に難しくなります。正直はじめに読むのにはお勧めできません。といっても、もうHaskellの日本語の本が複数出ているのでそんな人はいませんか。

一方、私にはある程度の収穫がありました。

とりあえず、型クラスの使い方に関するキーワードが得られたのが第一の収穫です。同じ構造を別の値に使う際に型多相を用い、同じ操作を別の構造に使う際に型クラスを使うらしいです。そういう意味ではjavaのinterfaceとやはり同じなのでしょうか。使い方にはだいぶ差がありますが。

無限リストに関する定理の証明方法として、最後に⊥をつけてみるという方法も学びました。しかしこの手法の正しさについてはよくわかりません。

あとは、よくあるHaskellにおけるフィボナッチ数列の定義
fib = 1:1:zipWith (+) fib (tail fib)

とそのO(1)性が、call by needと無限リスト構造に強く依存していることを知りました。式中に現れるfibがcall by needによってすべて同じ実体に関連付けられていないといけません。また定義を関数に書き換えると実体を共有できません。この辺、関数は勝手にmemoizationされないという話と同じだと思います。

それからこの話を友人に話して気がついたことがあります。call by needとかずらずら出てくるHaskellはやはり一般向けではないようです。簡約順序とかcall by needとかそういう話は、ラムダ計算をちょっとでもかじってないとうまく説明できないと思いました。もちろん、無限リストとか使わなければ気にすることはないとは思いますが。
急にボールが来たわけではありません。ちなみにmixi経由で関連文献

閑話休題。

フリーウェイト講習の予約をしていたのですが、研究会の関係でキャンセルする羽目になりました。というわけでフリーウエイト派はまだ募集中です!

(&&)関数と(||)関数@結城浩のHaskell日記より。 結城さんはもうこの辺解決していらっしゃるかもしれませんが。

ショートカットという言葉は、評価に必要ない計算はしないという意味だと思います。 そして、そもそもHaskellは値が必要になるまで計算をしません。 たとえば

one :: Int -> Int
one x = 1
のような引数を全く解釈しない関数を用意します。この関数は、引数として何を与えても1を返してきます。本当に何を与えても。
>one 1
    -> 1
>one 3
    -> 1
>one $ error "hello"
    -> 1
>one $ length [1..]
    -> 1
このように、エラーや無限ループを与えても動じません。

今のような、エラーや無限ループのことを以下では⊥(矛盾、ボトムとか読みます)と表します。 そして今のような、⊥を与えても⊥以外のちゃんとした値が帰ってくる関数をlazyな関数といいます。 一方、ふつうの、⊥を引数に与えると必ず⊥が返る、つまり帰ってこなかったりエラーになったりする関数は、strictな関数といいます。

さて、&&や||についてはどうでしょう。これらは片方の引数を評価して、その値によってはもう片方は評価しなくても良くなります。そして数学的には二つの引数は対等なので、どちらから評価されてもよさそうです。しかしどちらかの引数に⊥を与えられたらどうなるのでしょう。

定義を見れば一目瞭然です。

(&&), (||)  :: Bool -> Bool -> Bool
False && x   = False
True  && x   = x
False || x   = x
True  || x   = True
たとえばライブラリでこのように定義されていたとすると、 一番目の引数については必ず評価されます。 しかし二番目の引数は、一番目の引数次第では評価されません。
> error "a" && True
    Program error: a

> error "a" && False
    Program error: a

> True && error "a"
    Program error: a

> False && error "a"
    False
先ほどの言葉でいうと、(&&)や(||)は一番目の引数についてはstrictですが 二番目の引数に対してはlazyな関数です。 あるいはカリー化して言うと、(&&)や(||)はstrictな関数ですが、 引数をひとつ与えて帰ってくる関数はstrictではないかもしれません、といえます。

PPLサマースクールに行ってきました。途中体力不足で寝ていたりしましたが。
夕食はkinabaさんに連れられてつくばや名古屋のかたがたとお食事。
圏論のお話が入門過ぎてちょっと物足りなかったと感想を述べたところ、名古屋の方にBenjamin Pierce さんの Basic Category Theory を薦められました。

しかしよく考えるとうちにはまだ本が山のようにごろごろごろごろ。

Haskellの型クラスは一瞬Javaのインターフェスのように見えてしまいますが、全く異なります。異なる型について同じ操作が出来る、という点では似ていますが、その一方Haskellでは[1.23, 0::Int, 3.14]::List[Num a]みたいなリストは出来ません。

しかし型クラスとは強力なもので、インターフェスの代理のようなものならいくらでも作れます。実際に何がしたいかによりますが。 たとえば、IntとFloatの混合リストくらいならこのとおり。

data Numeric = Numeric {inc :: Numeric, str :: String}
instance Show Numeric where
        show = str

class NumericType a where
        toNumeric :: a -> Numeric

instance Num a => NumericType a where
        toNumeric n = Numeric {
                        inc = toNumeric (n+1),
                        str = show n
                        }

main :: IO ()
main = do
        let intList :: [Int]
            intList = [3..6]
        let floatList :: [Float]
            floatList = [1.2 .. 5]
        let firstList::[Numeric]
            firstList = (map toNumeric intList) ++ (map toNumeric floatList)
        let looper :: [Numeric] -> IO ()
            looper xs = do
                print xs
                looper $ map inc xs
        looper firstList
実行結果
[3,4,5,6,1.2,2.2,3.2,4.2,5.2]
[4,5,6,7,2.2,3.2,4.2,5.2,6.2]
[5,6,7,8,3.2,4.2,5.2,6.2,7.2]
[6,7,8,9,4.2,5.2,6.2,7.2,8.2]
[7,8,9,10,5.2,6.2,7.2,8.2,9.2]
[8,9,10,11,6.2,7.2,8.2,9.2,10.2]
[9,10,11,12,7.2,8.2,9.2,10.2,11.2]
[10,11,12,13,8.2,9.2,10.2,11.2,12.2]
[11,12,13,14,9.2,10.2,11.2,12.2,13.2]
[12,13,14,15,10.2,11.2,12.2,13.2,14.2]
[13,14,15,16,11.2,12.2,13.2,14.2,15.2]
(ry
このくらいなら余裕です。ただしhugsは-98オプションが、ghcでは -fglasgow-exts -fallow-undecidable-instance オプションが必要です。 拡張オプションなしだとinstanceのところでコンパイルエラーします。

こんなどうでもいいことを書いていたら巨大掲示板HaskellスレッドでExistentially quantified typesを解説している人がいてびっくり。ghcのマニュアルに書いてあったとは。参考にさせていただきます>どなたか

Google Code Jam 2006に参加しました。ぼろぼろでした。勘が鈍りすぎです。

詳しく書くのは面倒なので詳しく書いてくれたnyaさんのところを見てください。彼と同じ問題でした。

で、私の問題はただひとつ。ぼーっとといていたら750点問題を提出し損ねました。Coding Time Expired(だったっけ)っておいおい。250pts問題もちょっと時間かかったのでちょっと予選突破は無理です。
ゲームなんてする体力がありません。Newマリオ? ルーンファクトリー? むしろMother1,2すらやったことが無いのでこのあたりでも良い気がします。

しかし本当は体を動かしたい。歌いたい。

切羽詰ったときに見る気がしなくなるような予定表はまともな予定表ではないと思います。少なくとも役に立つ予定表ではありません。

イソップ故事成語にもありましたね。
A friend in need is a friend indeed.
と。ところでなんで英語なんでしょうか。
週末は
昼間飛び跳ねて
夜は鼻血噴いてました

週末活動的になるのよくないです
答え:保存の鞄がのろわれています。

閑話休題
CS図書館でHaskell School of Expressionを借りました。
書籍部でCIP法―原子から宇宙までを解くマルチスケール解法を買いました。
さて、九月に本を読む暇はあるんでしょうか。
あとTaPLは放置でしょうか。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。