This is the mail archive of the
guile@sources.redhat.com
mailing list for the Guile project.
Re: guile-vm-0.0
Ian Bicking <ianb@colorstudy.com> writes:
> > Debugging support is the concern I have about my VM. Since bytecodes
> > loose information about source code, I'm not sure if I can provide a
> > good debugging interface. (Nobody want to trace assemble code)
>
> FWIW, Squeak <http://www.squeak.org> does byte-compiling that is
> reversable -- i.e., you can get code back that looks very much like
> what you got in, minus a few details (whitespace, comments, temporary
> variable names, and extraneous ()'s). I think they were planning to
> fix the variable name thing, use automaticic indenting, and just
> forget comments and ()'s -- maybe they've already gotten this far by
> now.
Wow, that's interesting. Yes, probably it's possible, but you'll loose
every high-level semantics and abstraction. `do' becomes an equivalent
`let', for example. Since abstraction is so important in Scheme,
loosing it from the source is fatal.
(define make-fraction cons)
(define denominator car)
(define numerator cdr)
(let ((num (make-fraction 1 2)))
(denominator num))
is much more meaningful than
(let ((num (cons 1 2)))
(car num))
But an automatic regenerator only can procedure the latter code.