Heya Noah, On Fri 10 Dec 2010 10:09, [email protected] (Ludovic Courtès) writes:
> Better late than never... Indeed, and my apologies for only getting back to you now. > Noah Lavine <[email protected]> writes: > >> My biggest question is, is this something that you would be interested >> in having in Guile? > > I think so, yes. Not in 2.0, I guess, but when it starts stabilizing it > could go into a branch. I am skeptical. I think that the jitgen language sounds like a fine intermediate thing, but I don't know if it will be good enough for describing the whole VM. OTOH something like it does seem useful for implementing all of the VM ops in the JIT engine. Have you considered going the other way? That's to say, writing a limited C -> Jitgen parser, and thus keeping the primary representation of the VM in C? It doesn't have to be a full parser. It doesn't have to expand macros -- i.e. it can interpret NEXT() directly, without relying on details of its expansion. If there is an idiom that the parser is having a hard time with, we can change the C VM implementation to make the meanings more explicit, via more macro use. In this way we would keep the VM's canonical representation in a well-defined language. This makes it easier for anyone to maintain and fix the VM. It also frees you up to make changes in jitgen without worrying about impacting the non-jit case. What do you think? Regards, Andy -- http://wingolog.org/
