OOP
昨日の記事で書いたVOC (Vision Oriented Communication) の実装を支援するライブラリを作った。 https://github.com/ympbyc/VOC READMEを英語で書いたのでここに日本語版を書いとく。 VOCのコンセプト オブジェクト指向やアクターはpushベースだけど、実世…
OO paradigms that are built on top of messaging concept don't correctly model the world we live in. We dont send messages addressed to receivers. Communication Without Messages Consider a situation where you are driving your car (A) behind…
Part 1からずいぶんと時間を置いてしまった。みんな覚えてるかな。前回はごたまぜだったけど、今日はとくに時空についてに絞って書いてみる。前半は2013年の12月にSmalltalk忘年会で話した事の焼き直しだけど、文章にしたことがなかったからもう一度やってみ…
僕は今頭がhyperactiveになってるからとっておきの考えを書く。これは僕が暇なときにいつも考えてることで、これからも何回か書くことになると思う。 宇宙というソフトウェアのコードを、なるべく簡潔に記述するとしたらどんな風になるのか考えてみる。この…
これ便利。 (define-class <serializable> () ()) (define-method write-object [(x <serializable>) out] (let* ([class (class-of x)] [serializable-slots (filter (^s (get-keyword :init-keyword (cdr s) #f)) (class-slots class))] [slot-names (map car serializable-slots)] [in</serializable></serializable>…
TL;DR だいたいみんな知ってることだと思います。On Lispの「いつオブジェクトを使うのか」に言いたいことだいたい書いてあります。 背景 前にサーバーサイドMVCって記事で、クラスはせっかくモジュラーな関数をそうじゃなくするから基本的に悪だってちろっ…
あとでもうちょい詳しく書きます。
毎日書く普通のコードでなるべくミスを減らし、デバッグを簡単にして、より多くの時間を楽しい事(キーボード叩いたり汎用関数作ったりリファクタしたり)に費やしたくて最近実践していることをメモします。一つ前の燃えてるエントリの補足(不変指向の利点の説…
ここにあった記事は消しました。 詳しくは以下:ympbyc.hatenablog.com