[R6RS] Yet another question (to Matthew I guess)
Manuel Serrano
Manuel.Serrano
Fri Oct 1 03:21:18 EDT 2004
> > Does it mean that the following program *must* raise an error:
> >
> > -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
> > (module foo r6rs
> >
> > (display (foo 3))
> >
> > (define (foo x) x)
> > )
> > -----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----
>
> > If it does I don't see how the compiler will be able to do a good job
> > when compiling function calls...
>
> It turns out not to be difficult. See:
>
> http://www.cs.indiana.edu/~dyb/pubs/fixing-letrec.pdf
>
> The basic trick is to use a separate validity flag that says whether a
> variable can legally be referenced.
I know this paper. I don't think that the proposed solution solved
the problem I'm mentioning. I don't think that the problem is actually simple.
--
Manuel
More information about the R6RS
mailing list