[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Current tickets for the 5th ballot - 281



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 09/30/2011 03:26 PM, xacc.ide@x 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
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports