I'm looking for a language that can write itself. Meaning, that while it's running, it should have the ability to modify its behavior based on the input it receives (not just simple if/then statements). I'd also like it to be a well known language with a large userbase and standard library, garbage collection, and for it to have object-oriented features. I don't know much about these types of languages but I heard that Lisp is one of them.
I also have several (perhaps) related questions: What is an ML-type language? Is Lisp an ML-type language? If not, then what's the difference? And finally, can Objective-Caml write itself?
Thanks in advance for helping me clear things up!