トップ «前の日(08-08) 最新 次の日(08-10)» 追記

日々の流転


2001-08-09

λ. 朝飯を食って、床屋行って、それから寝た。PM 4:20ごろ起床。いい加減に朝型に戻さなくちゃ。

λ. NArray

NumArrayと比較してみてNArrayの方が目的にあってるような感じなのでNArrayのソースコードにざっと目を通してみる。うーん、思ってたよりも複雑。

Tags: ruby

λ. コメントのコメントのコメントへのコメント

説明するのが下手ですいません。やりたかったことは、例えば

void a_callback_func(void* data, size_t len, VALUE callback)
{
    VALUE obj = rb_str_new2((char*)data, len);
    rb_funcall(callback, rb_intern("call"), 1, obj);
    memcpy(data, RSTRING(obj)->ptr, min(len, RSTRING(obj)->len));
}

λ. 等と書くかわりに、以下のように書けたらなぁという事でした。

void a_callback_func(void* data, size_t len, VALUE callback)
{
    VALUE mem = mem_block_wrap(data, len);
    rb_funcall(callback, rb_intern("call"), 1, mem);
    mem_block_detach(mem); // これ以降memのメソッドを呼び出そうとすると例外。
}

λ. でも、NArrayの現在の構造でこれを実現するのは面倒そうですし、NArrayの趣旨にも反する気がしてきたので、素直にあきらめることにします。


2003-08-09

λ. 昼過ぎに起きる。よく寝たなぁ。今頃 LL Saturday やってるかな。

λ. 弟が帰省。弟が持って帰ってきた漫画を読む。

λ. Re: 同一でないにもかかわらずそれが判定できないってどういう状況?

ちょっと曖昧な表現ですが、2つのオブジェクトが、あらゆるオペレーションに対して同じ結果をもたらすならば、その2つのオブジェクトが同一であるかを判定する事はできないです。例えば、仮にRubyにObject#__id__やObject#equal?がなかったとしたら、2つの同値なBignumが同一であるかどうかすら判定することは出来ないはずです。(追記: Rubyだとこの場合でも singleton method やインスタンス変数を追加したりすることで判定できてしまいますね。すっかり見落としてました。まぁ、むりやり捻り出した例なので、あまり細かいことは気にしないで下さいな)

こういうのを Behavioral Equivalence っていうんだっけかな。実はよく知らないんだけど。

λ. Re: アイデンティティ

しかし、副作用の全くないオブジェクト指向プログラミングというのは、なかなか考えにくい。はたして実用的に可能なのだろうか。もし可能なら関数型言語に完全に整合したオブジェクト指向機能が実現できそうだが。 O'Camlには副作用があるしなあ。

副作用の無いオブジェクト指向プログラミング言語といえば、一応 O'Haskell なんかがそうでしょうか。とはいっても、Monadを使って状態を表現しているわけで、まつもとさんの期待しているものとはきっと違うだろうけど。

λ. Topology via Logic 進捗

この一週間あんまし進んでない。Complete Lattice, cHa, Frame の関係でちょっとだけ混乱中。

λ. Re: お前ら sprintf() を使え

$hoge = "XXX" . substr("000$year",-4) . substr("0$month",-2)

sprintf()使えってのはもっともだけど、このトリッキーさにちょっと感動。

本日のツッコミ(全6件) [ツッコミを入れる]

ψ 通りすがり [昔、8bitマイコンのBASICでは整数→16進文字列変換を print right$("000" + hex$(x..]

ψ さかい [なるほど。勉強になります。 P.S. 関係ないですけど、そういえばJavaにはprintf()系の機能はないんです..]

ψ あるふぁ [J2SE1.5 では printf() が提供されるはずです。]

ψ さかい [おぉ、そうなのですか。それは知りませんでした。 J2SE 1.5 といえばGenericsはよく耳にしますが、他にも..]

ψ wisteria [printfが提供されるってことは、数値をunsignedで出力するとかサポートされるのかしら。 いや、調べればいい..]

ψ さかい [数値をunsignedで出力するってこういう事? out.printf("%ud\n", -1); => 42949..]


2004-08-09

λ. 今宵、狂いに狂いきった弾幕は、そこのお嬢ちゃんのトラウマになるよ。

告知きたー。

Tags: 東方

2007-08-09

λ. slideshare

slideshare というサービスを池上さんのところで知ったので、LLRingの発表資料などをアップロード(My Slidespace)して、日記にも貼り付けてみた。 例えばこんな感じになる。

おぎろぐはてな - Powerpointの資料をキレイにSlideShareにアップする で紹介されているように、フォントを埋め込んだPDFを作ってアップロードすると良いようだ。

【2007-09-30追記】 YouTubeに対するFlowPlayerのように、スタンドアローン(?)で使えるプレーヤーもあると良いのにな。と思ったが、OpenOffice.org Impress はswfを出力できたはずだから、それを使えばよいのか。

λ. “Topoi: The Categorial Analysis of Logic” by Robert Goldblatt

Topoi: The Categorial Analysis of Logic (Dover Books on Mathematics)(Robert Goldblatt)

たけをさんのところでも書いたが、この本の古い版を The Cornell Library Historical Mathematics Monographs - Topoi, the categorial analysis of logic で読むことが出来る。

それで、ローカルでも読みたかったので、とりあえず各ページのPDFを全部落してきて、pdfpdfpdf.com (pdfc)で連結してみた。 15MバイトくらいのPDFが出来た。

Tags: 圏論

2008-08-09

λ. 首を捻った

朝、腹筋を終えて起き上がるときに首を捻ってしまった。その後、近くのプールに行き、また1kmを30分くらいで泳いできた。首が気になって、ちょっと泳ぎにくかったがあまり気にはならなかった。お昼を食べて、午後はRHG読書会へ。そこで下を向いて本を読む際に首がしばしば酷く痛むことに気づく。これはこれまで寝違えたりした中で最悪かもしれない。しんどい……。一晩寝て直らなかったら病院へ行こっと。

λ. RHG読書会::東京 Practical Common Lisp 第九回

実践Common Lisp(Peter Seibel/佐野匡俊/水丸淳/園城雅之/金子祐介) ついに出版された 実践Common Lisp(Peter Seibel/佐野匡俊/水丸淳/園城雅之/金子祐介) の第19章「例外処理を超えて : コンディションと再起動」、第20章「特殊オペレータ」、第21章「大規模開発に向けて : パッケージとシンボル」。

第19章「例外処理を超えて : コンディションと再起動」は非常に面白そうな話だったが、遅れていったために聞き逃してしまった。 第21章「大規模開発に向けて : パッケージとシンボル」では、Lispのシンボルのinternとかuninternといった概念について初めて理解でき、「流石にLispは良く考えられているなぁ」と感動した。

二次会では青島ビールを飲みながら、オリンピック談義などを。
[青島ビール]

λ. ガラスでもやしもんの菌を

ガラス細工でもやしもんの菌を作る動画をみて感動した。


2009-08-09

λ. 第五十五回圏論勉強会

今日は圏論勉強会

P. Selinger, “A survey of graphical languages for monoidal categories”の 4 Autonomous categories の残り。4.2 (Planar) pivotal categories から 4.8 Compact closed categories まで。

4.3 Spherical pivotal categories の Failure of coherence が良くわからなかった。 下の図の真ん中と右の図が2次元の球面でisotopyで同一視されないというのはいいのだけど、左と真ん中の図もそうなの?

4.5 Braided autonomous categories 。 タングルとリンクの3次元isotopyは、平面に射影したときの planar isotopy にライデマイスター移動を追加したものに等しくて、そこからライデマイスター移動Iを除いたものが regular isotopy というあたりに、なるほどと思う。

4.6 Braided pivotal categories の、「On the other hand, the equation (中略) holds up to isotopy, but not up to regular isotopy (because regular isotopy preserves total curvature, as pointed out by Freyd and Yetter [9, p. 169]).」で、Total curvature って捩れのことかと思ったら、違った。Total Curvature - Wikipedia

4.8 Compact closed categories の、自明でないtwistの例で、部分圏C に制限している理由がよく分からなかった。

Tags: 圏論
本日のツッコミ(全3件) [ツッコミを入れる]

ψ たけを [> Failure of coherence 単純に、「3つの図がcoherentである」という結果全体が保たれない..]

ψ さかい [そうなんですが、それなら何故わざわざ三つ並べるのか、と裏読みをしてしまって……]

ψ たけを [右の図は真ん中とも左ともisotopy同値でないので、だから3つ並べているのでは? 並べる順番が問題といえば問題です..]