Summary

Allowing EVAL to evaluate lists with a procedure in the car

Metadata

Description

The following does not work and is not required by R5RS to work, but I see no reason that it shouldn't work:

 
 Version 4.7.4 (rev 09df24b)
 windows-cygwin-x86 [ manyargs dload ptables ]
 compiled 2011-09-21 on LNGNYCL-FDB00M1 (CYGWIN_NT-5.1)
 
 #;1> (define e (interaction-environment))
 #;2> (define x '(cons 1 2))
 #;3> (eval x e)
 (1 . 2)
 #;4> (set-car! x cons)
 #;5> x
 (#<procedure (cons x281 y282)> 1 2)
 #;6> (eval x e)
 
 Error: illegal non-atomic object: #<procedure (cons x281 y282)>
 
         Call history:
 
         <syntax>          (eval x e)
         <eval>    (eval x e)
         <syntax>          (#<procedure (cons x281 y282)> 1 2)   <--

Changes and comments

[2011-10-03 01:06:53 UTC] johnwcowan changed priority from minor to not urgent at all

[2011-10-03 01:06:53 UTC] johnwcowan wrote:

On reflection, I no longer care about this. I have dropped it to not-urgent priority in case someone is interested in it some day, but if it's closed that would be fine with me.

[2011-10-06 09:59:52 UTC] felix changed type from defect to enhancement

[2011-10-06 09:59:52 UTC] felix removed milestone 4.8.0

[2011-11-06 11:56:47 UTC] ckeen changed status from new to closed

[2011-11-06 11:56:47 UTC] ckeen set resolution to fixed

[2011-11-06 11:56:47 UTC] ckeen wrote:

pushed to master. Thank you.