in the LISP 1.5 Programmers's Manual there's a single page that defines eval/apply in lisp code. I was exploring something similar for OOP, what's the minimal set of features needed to bootstrap objects and method dispatch.
You might find "Open, Extensible Object Models" by Ian Piumarta and Alessandro Warth interesting.