I'm looking over compiler collection that implements a Racket->C compiler. It looks like it uses a set of racket structs labeled vm:* as the virtual machine representation, and then compiles these to C. However, the main racket compiler uses a different bytecode representation, implemented in C, that runs on the racket VM. Why are there two different bytecode representations? Isn't it a duplicated effort to have a different intermediate representation when compiling to C? Why not first compile to the main racket bytecode, and then compile that to C?
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

