2008-01-01から1年間の記事一覧

関数合成とか部分適用とかリードマクロとか

マクロの復習というか練習というかメモというか。 メモ:マクロを呼び出してる関数をコンパイルするとどうなるの 予想通りといえばの予想通りの動作。 式がインライン展開されてると考えてよろしいのでしょうか。 CL-USER> (defmacro foo! (x) `(setq ,x (+ …

backquote

バッククォートの練習。 入れ子になった時の動きがいまいち分かってない。 vectorにも使えるとは知らなかった。(文字列はダメだった) CL-USER> (setq a 100 b '(1 2 3)) (1 2 3) CL-USER> `(,a ,@b) (100 1 2 3) CL-USER> `#(a ,a ,b ,@b) #(A 100 (1 2 3)…

:before :after :method-combination

:method-combination CL-USER> (defclass foo1 nil nil) ;=> #<STANDARD-CLASS FOO1> CL-USER> (defclass foo2 (foo1) nil) ;=> #<STANDARD-CLASS FOO2> CL-USER> (defclass foo3 (foo2) nil) ;=> #<STANDARD-CLASS FOO3> ;; [ + and append list max min nconc or progn ] が利用可能らしい CL-USER> (defgeneric method1 (x)</standard-class></standard-class></standard-class>…

22日の勉強会

時間が空いてしまいましたが、22日はCLR/Hの第38回勉強会でした。 楽しかったなぁ。特にSqueakの実習が良かったです。 Smalltalkを復習して、勉強会の報告もかねて日記を書こうと思ってたんだけども、PCを触る暇が・・・(とか言いながら↑のようなものを作る…

love visualizer

C#

なんか最近全然C#触ってなかったので、息抜きに何か小さいもの作ろう!と思い、id:uskzさまの日ごろの熱い想いをvisualizeすることに相成りました。 LINQ to XML と GDIの復習と愛の再確認ができました。 22日に一体何があったのでしょうか。

change-class

change-classってクラス入れ替えるって言ってもsetqし直す(新規にインスタンスを作る)だけでしょ?何のためにあるの?とか思っていたのだけど、それだけのために存在するのもおかしいと思って色々試してみた。同じ名前のスロットがあると値を引き継いでく…

クラスの再定義

CL-USER> (defclass foo () ((x :accessor foo-x :initform 1))) #<STANDARD-CLASS FOO> CL-USER> (defclass bar (foo) nil) #<STANDARD-CLASS BAR> CL-USER> (setq b (make-instance 'bar)) #<BAR #x1A3190F5> CL-USER> (setf (foo-x b) 10) 10 ;; y というスロットは存在しないよ! CL-USER> (slot-exists-p b 'y) N</bar></standard-class></standard-class>…

さ〜て来週のsumimさんは?

積読化されてたのですが今読みました。 二つのオブジェクト指向とそれぞれのメリット - Smalltalkのtは小文字です もともとSmalltalkには興味はあったけど、結局まだ触ったことはない。 GoF本にも載っていましたがC++のコードを追うばかりで、Smalltalkはと…

fibの美容整形

C#

まだこのネタを引っ張る気か・・・!と言われそうですが。。。 前回のヤツがどうも気に入らなかったのでもう1度。 前よりはマシかなぁ class Fibonacci2 { public class LazyZipper<T1, T2, TResult> { private List<TResult> memo = new List<TResult>(); public IEnumerable<TResult> ZipWith( IEnumera</tresult></tresult></tresult></t1,>…

the future of c#

PDC2008のC#のセッションを少しだけ見た。(スライドバーを適当に動かして、コードが出てきた部分だけ拾って・・・) デモで出てきたものの一部をメモ書き程度に。 その他の部分は http://d.hatena.ne.jp/ufcpp/20081028/1225192944 などでチェック! dynami…

早速押してみよう! →

はてなスターのアイコンを変えてみました。 フリーのアイコンを拾ってきてスタイルシートいじっただけ。 星とは無縁のアイコンですが、ポチポチと可愛がってやってください。

Loading...

F#

こんなお部屋があったとは!いげ太さんさすがです。 F#勉強しないとなぁ。 次期Visual Studioにも正式採用されますし、F#には本腰を入れたいところです。

はじめてのリードマクロ

リーダーマクロ?リードマクロ? まあとりあえず、リー○マクロを少しだけ触ってみました。 Lispが見かけ上Lispに見えなくなる瞬間。 Lispはカリー化が面倒なのでカリー化を補助するマクロを定義する遊び。 ;; ']' をマクロの文字だと認識させる CL-USER> (se…

fib再び

ひとつ前のエントリ(id:Nobuhisa:20081016:1224157485)へのレスポンス C++ USKさん作 @nobuhisa_k fibonacci数列書いたよ!まずある程度ライブラリを作ったり拾ってきたりしないと何も書く気が起こらない言語それがC++ http://twitter.com/uskz/statuses/9…

LazyなFibonacci

10/11に第4回北海道関数型言語勉強会が開かれました。

頭悪すぎる。 知識がちっとも足らない。 お金も(ry 最近ぷろぐらみんぐの勉強を再開したのはいいけど、代わりに数学と心理学と生命科学が完全にストップしてしまった・・・。趣味程度の脳科学なんてもう久しく触ってない。 他にも色々興味はあれど本を手…

make-array, fill-pointer, vector

make-arrayのfill-pointerって何に使うの?死ぬの?と思ってたけど、vectorをスタックのように扱う際に力を発揮するんですね。 しかしmake-array関数が思ったより複雑なので日記にメモ化しましょうという。

近頃勉強会

最近札幌で勉強会が多発しています。 札幌でIT革命が・・・!! 9/27 CLR/Hコミュニティローンチ もう終わっちゃったけどね。 CLR/Hで開催しました。2月に続いて今年2回目。 Microsoftのジニアス平井氏、グレープシティの八巻氏、CLR/Hのナオキさんが登壇。 …

長いブランクがありましたが(汗)、最近数理論理学の勉強を再開。(少しずつしかやってないけど・・・) これまで読んでいた本は命題論理しか扱ってなかったのですが、今読んでる本は述語論理と集合論も取り扱ってるので初対面の彼らにやや苦戦中。理解力の…

quick sort

http://d.hatena.ne.jp/uskz/20080918/p2 久しぶりにHaskellのqsortを見た。 最初は http://d.hatena.ne.jp/Nobuhisa/20070826/1188075244#c1188200644 で同じく梶本さんに教えていただいたり。(もう1年も経つのか・・・!) 当時は全く意味不明の文字列に…

AppDomain.Unload

AppDomain.UnloadによるスレッドのAbortと、抹殺されるスレッドの最後の抵抗(finally)によってCannotUnloadAppDomainExceptionが発生するまで。 親アプリケーション public void Test1() { string childPath = "(子アプリのパス)"; AppDomain domain = App…

XML宣言がXDocument(XElement)のsaveメソッドを読んだときにしか追加されない(オブジェクト自体に追加されるわけではなく、保存されたファイルに追加される)ので、結局StringBuilderでXMLを書いています。XDocumentの方から宣言を設定もしくは取得するプ…

記号

論理包含 同値 論理積 論理和 否定 全称 存在 ゲンツェン ⊃ ⊃⊂ & ∨ ¬ ∀x ∃x ラッセル ⊃ ≡ ・ ∨ 〜 (x) (∃x) ヒルベルト → 〜 & v  ̄ (x) (Ex) ライプニッツ 不明 不明 ・ + 不明 Πx Σx

F#とPHP(Phalanger)のVS2008 Shellを使った開発環境。 Microsoft Download Center: Windows, Office, Xbox & More http://www.php-compiler.net/doku.php?id=core%3aphp-in-vs2008 最近PC触ってなかったのでさっき.NET3.5とVS2008のSP1を適用しました。時間…

nullを代入した時点で例外

C#

未知のぬるぽが発生する前に、変数にnullが代入された時点で検出する。 というのをふと思いついたので書いてみたけど、使えるかな・・・(あまり利用場面が思い浮かばない)。 何か頭が働かないので(眠いだけ?)、余分なコードが含まれているかもしれませ…

影山龍一郎らは、成体になってから生じたすべての神経細胞が蛍光タンパク質を合成するようマウスを遺伝子改変し、1年以上にわたって蛍光を放つ神経細胞の数を記録し、この問題に取り組んだ。この間、嗅球(嗅覚に重要)の一定の層にあるほぼすべての神経細胞…

自戒

「手段は完璧で、目的は混乱している、というのが、私のみた現代の特徴だ。」 ― Albert Einstein

フェルマーの最終定理

堅忍不抜の精神は大切ですね、ということだけ分かりました。 全部見てないけど。笑 これはMath少女(!)の新作を買わないといけませんね。 お金がないので遠い未来になりそうですが。 前作も積読リストのお仲間入りしてるんだけどね!

ttp://yokoku.in/column/release/080803.php 原因 犯行予告通報フォームのURL部分のエスケープ処理(不正な文字列を無効化する処理)を行っていませんでした。 結果、悪意あるコードをURL部分に埋め込んだ場合、コードを実行させる危険性が存在しました

destructuring-bind

CL-USER 1 > (setq data '(1 (2 . 3) (4) 5 6 7)) (1 (2 . 3) (4) 5 6 7) CL-USER 2 > (destructuring-bind (a (b . c) (d) . e) data (list a b c d e)) (1 2 3 4 (5 6 7)) CL-USER 3 > (destructuring-bind (a (b . c) (d) . e) data (append (list a b c …