I'd say things like SmallTalk, Forth, Lisp, Glamorous Toolkit, come the closest. The gaps are in whether it's actually used that way (e.g. treating arches like bricks and building a pyramid out of them); or that it's still forced through artificial layers (like "language") that are taken as a given, but which are actually just one of a million possible "interfaces", any of which could be self-contained.
MPS has the right idea, except that it provides a plethora or set-in-stone concepts, interfaces, layers, and languages for everything -- which I find highly ironic, given what is supposed to be.
Racket gets an honorable mention for being the best "make your own language, in your own language" language; but it's very linear, and forced through the very specific paradigm of specifying, creating, etc etc, all through parsing textual language. Zero progress at escaping that, but it does it WELL.
Actually, Rebol / Red may do it better in some (but not all) respects. It's parsing util(s) treats not only the thing being parsed as a datastructure, but also the code doing the parsing! I think it's just called "parse", and there's a write-up about this that's google-able.
The principles of the moldable objects initiative (or whatever it's called) that @J. Ryan Stinnett is part of, are actually pretty in line with this stuff. I don't think it's prescriptive of what I'm talking about here, alright I think the goals overlap.