Building on top of a Virtual Machine The Java Virtual Machine (JVM) and .NET’s Common Language Runtime (CLR) are increasingly used as the implementation target for scripting languages. Perhaps best known among these are JRuby, Jython, IronPython, and IronRuby. The Parrot VM is designed specifically as a host for scripting languages [14], and is best known as the target for the long awaited Perl 6. All three of these VMs support exact garbage collection. Although the JVM and CLR offer exact garbage collection, as far as we know, their collectors have not been tuned to the relatively short-lived use patterns of scripting languages.