I've always lamented that Ruby and the like caught on when Dylan didn't. At a time when most dynamic languages are still struggling without multi-threading or generational garbage collection (or hell, even correct lexical scoping!), Dylan has had a very sophisticated implementation for 15 years now. Open Dylan has native compilation, type inference, native threads, a sophisticated garbage collector, etc. The other side of the coin is, unfortunately, that it's hard to maintain such a sophisticated implementation without substantial manpower. The compiler is 100kloc of well-written but complex and dense code, and the runtime library is quite complex as well. That said, the Dylan Hackers are doing some really interesting work, e.g. building an LLVM backend for the compiler, so if you have an interest in the subject it's worth checking out.