Opened 9 years ago

Closed 9 years ago

#705 closed enhancement (fixed)

Allowing EVAL to evaluate lists with a procedure in the car

Reported by: johnwcowan Owned by:
Priority: not urgent at all Milestone:
Component: core libraries Version: 4.7.x
Keywords: Cc:
Estimated difficulty:

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)   <--

Change History (3)

comment:1 Changed 9 years ago by johnwcowan

Priority: minornot urgent at all

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.

comment:2 Changed 9 years ago by felix winkelmann

Milestone: 4.8.0
Type: defectenhancement

comment:3 Changed 9 years ago by Christian Kellermann

Resolution: fixed
Status: newclosed

pushed to master. Thank you.

Note: See TracTickets for help on using tickets.