ddrone: Sorry, I will explain better, although I think Kartik Agaram has understood what I meant.
I am interested in languages that achieve some level of extensibility and flexibility "from scratch". Often in small lisp implementations people use host-level lambdas to achieve functions, but this is not a small implementation, this is the entire host language plus the implementation. A lisp interpreter starting from only a few functions could be minimal, because (in theory) you only need those functions, an environment of definitions and a REPL. The GC is a complication here. Similarly forth has been implemented in extremely small packages, and a REPL can be made which only needs an initial small environment.
Kartik: thanks for those references, they are very interesting.
I may have answered most of my own question by phrasing it better: is there a way meaningfully different from "REPL + small environment" to create a fully featured language? What are some examples of ways to structure the REPL or environment to create different features? Forth and Lisp are very different languages although they can both be small.