背景 先日、7月30日の Lisp Meet Up presented by Shibuya.lisp #42 - connpass において、「Mathematicaとオブジェクト指向について」という発表がありました。 そこでは、 Mathematica の機能を利用した、オブジェクト指向的な機能が提示されており、私はそれに興味を覚えました。 私は Mathematica は全然分からないのですが、発表を聞いていて、なんとなく概念はつかみ取ることができ(たような気分になり)、おそらく Common Lisp でその実装を真似ることが出来る(んじゃないかな)、と思ったので、早速適当にコードを書いてみることにしました。 着想 Mathematica のオブジェクト指向機能において、重要な役割を果たしていたのが、 ^:= というオペレータによる定義でした。 うろ覚えですが、以下のような機能と記