-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 09/30/2011 03:26 PM, [email protected] wrote: > >> Scheme48/scsh is the only implementation that does (fail) > > IronScheme fails, and will fail every one of these funky eval examples you > have provided. > > I find it disturbing that eval should be anything more than an interface to > the compiler.
eval being an interface to a compiler is fine. What we're discussing is a change that, some say, might disallow that compiler being in a different address space... However, when we eval '(cons 1 2), we might expect that the cons it invokes is the same cons used by the rest of our code (ok, cons being tiny might be inlined - let's imagine that it's something bigger like eval itself), rather than a new copy created by a remote compiler. Even more so if the eval-ed code imports a large, complex, library that is already used in the main program. So the eval->compiler->eval interface would need some way of resolving such references to shared resources, which can presumably also be applied to references via the eval-ed sexpression itself. If all else fails, you can surely map: (eval '( ... <unprintable literal> ...)) into something like: ((eval '(lambda (<gensym>) ( ... <gensym> ...))) <unprintable literal>) ABS - -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6F3mMACgkQRgz/WHNxCGq3NACfQFJVvcGuZ1s++94RTEB21xH0 uEMAoIb2TfeHKO7mahUCoS/z+uG0cArV =YF0v -----END PGP SIGNATURE----- _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
