This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]