Well, first of all, Croquet IS a development environment that is pretty much self-defining. It is written in Squeak, which is a derivative of Smalltalk. It is incrementally compiled into bytecodes which are then interpreted by a virtual machine. If you really want to delve into the innards of Croquet, start with the Squeak Swiki at
http://minnow.cc.gatech.edu/squeak/1 and maybe read the History and Documentation sections.