Tagged Meta-Object Protocol
Finals are comming, so I might as well hack around a bit with ASM...
It's been a while since the last status update and I hate to admit it, but not much has changed in ASM repo. I was messing around with combinators in an attempt to simplify ASM' environments, and I was experimenting with new immutability semantics, since at the moment it's pretty much a one big copy-vs-alias mess. There are still a bunch of unresolved issues here and there concerning efficiency mainly, but if ASM is to be relevant in 100 years of time I'd much rather sacrifice efficiency for simpler semantics and expressive power.
Lastly, I was thinking about a way of exposing as much of ASM' semantics as possible and allowing their run-time overriding, using a Metaobject protocol:
(import 'samples.tinyclos) (defmethod apply ((v Vector) n) (write "Applying a vector to something? Are you " n "?")) (apply '[1 2 3 4] '(nuts))