標高+1m

Don't be rational.

OOP

VOC.js作った。 視覚と見た目に基づいた非同期コミュニケーションができるよ

昨日の記事で書いたVOC (Vision Oriented Communication) の実装を支援するライブラリを作った。 https://github.com/ympbyc/VOC READMEを英語で書いたのでここに日本語版を書いとく。 VOCのコンセプト オブジェクト指向やアクターはpushベースだけど、実世…

Vision Oriented Programming or OO Without Messages

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…

宇宙API Part2

Part 1からずいぶんと時間を置いてしまった。みんな覚えてるかな。前回はごたまぜだったけど、今日はとくに時空についてに絞って書いてみる。前半は2013年の12月にSmalltalk忘年会で話した事の焼き直しだけど、文章にしたことがなかったからもう一度やってみ…

宇宙API Part1

僕は今頭がhyperactiveになってるからとっておきの考えを書く。これは僕が暇なときにいつも考えてることで、これからも何回か書くことになると思う。 宇宙というソフトウェアのコードを、なるべく簡潔に記述するとしたらどんな風になるのか考えてみる。この…

CLOSオブジェクトのシリアライズ

これ便利。 (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って記事で、クラスはせっかくモジュラーな関数をそうじゃなくするから基本的に悪だってちろっ…

Smalltalkビアバッシュで現実世界の物体のデジタル表現について発表してきました

あとでもうちょい詳しく書きます。

ミスを減らす

毎日書く普通のコードでなるべくミスを減らし、デバッグを簡単にして、より多くの時間を楽しい事(キーボード叩いたり汎用関数作ったりリファクタしたり)に費やしたくて最近実践していることをメモします。一つ前の燃えてるエントリの補足(不変指向の利点の説…

存在しない記事

OOP

ここにあった記事は消しました。 詳しくは以下:ympbyc.hatenablog.com