I may be out of my gourd, but when you talk about these things I keep thinking of FORTH, which is very low level - hardly any convenience features. The code is extremely simple on one sense - there are primitives coded in very optimized assembler, and then words are just lists of pointers to the primitives - so a program is just long list of addresses to the primitives combined with proper preparation of the stack. On the other hand, words can be created with a dynamic runtime behavior (CREATE DOES>) so very complex things are easy to model (this is why it's a great realtime environment). See here for how code and data get "objectified" in the real world:
[link|http://www.tinyboot.com/man/crdoes.html|http://www.tinyboot.com/man/crdoes.html]
Tinyboot: [link|http://www.tinyboot.com/|http://www.tinyboot.com/]
Note that the way FORTH does this is by patching memory - it's brutal and effective. There is something deep there...
When I claimed to the FORTH people that "Object FORTH" was dumb because it was alreadly objectified, they scoffed :)