This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Source for ticket #281

cc


    

changetime

2011-09-29 22:11:03

component

WG1 - Core

description

Currently, it's undefined what happens if the first argument to `eval` is a list containing objects which have no datum representation, such as procedures, records, the end of file object, and so on.  I propose that we require `eval` to treat all these objects as self-quoting.  In particular, that means that a list whose car is a procedure (as opposed to an expression which evaluates to a procedure) is evaluated as a function call.

I tested this last case on my usual battery of Schemes.  Racket, Bigloo, Guile, Kawa, SISC, Larceny, STklos, !SigScheme, Elk, UMB, VX were able to evaluate a list with the `cons` procedure in the car.  Gauche, Gambit, Chicken, Scheme48/scsh, Chibi, Chez, SCM, Ikarus, Ypsilon, Mosh, !IronScheme rejected it; however, only Scheme48/scsh had a problem with ''quoted'' procedure objects.

I was not able to test MIT, KSi, Scheme 9, Scheme 7, Oaklisp due to difficulties with their `eval` procedures (Scheme 9 has none).

id

281

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

wontfix

severity


    

status

closed

summary

Make non-readable objects self-quoting in EVAL

time

2011-09-22 19:07:00

type

defect

Changes

Change at time 2011-09-29 22:11:03

author

cowan

field

comment

newvalue

Given the loud complaints about this, and the fact that the quoted version works in all Schemes but one, I am withdrawing this ticket.

oldvalue

2

raw-time

1317309063000000

ticket

281

time

2011-09-29 22:11:03

Change at time 2011-09-29 22:11:03

author

cowan

field

resolution

newvalue

wontfix

oldvalue


    

raw-time

1317309063000000

ticket

281

time

2011-09-29 22:11:03

Change at time 2011-09-29 22:11:03

author

cowan

field

status

newvalue

closed

oldvalue

new

raw-time

1317309063000000

ticket

281

time

2011-09-29 22:11:03

Change at time 2011-09-29 17:23:11

author

cowan

field

comment

newvalue


    

oldvalue

1

raw-time

1317291791000000

ticket

281

time

2011-09-29 17:23:11

Change at time 2011-09-29 17:23:11

author

cowan

field

description

newvalue

Currently, it's undefined what happens if the first argument to `eval` is a list containing objects which have no datum representation, such as procedures, records, the end of file object, and so on.  I propose that we require `eval` to treat all these objects as self-quoting.  In particular, that means that a list whose car is a procedure (as opposed to an expression which evaluates to a procedure) is evaluated as a function call.

I tested this last case on my usual battery of Schemes.  Racket, Bigloo, Guile, Kawa, SISC, Larceny, STklos, !SigScheme, Elk, UMB, VX were able to evaluate a list with the `cons` procedure in the car.  Gauche, Gambit, Chicken, Scheme48/scsh, Chibi, Chez, SCM, Ikarus, Ypsilon, Mosh, !IronScheme rejected it; however, only Scheme48/scsh had a problem with ''quoted'' procedure objects.

I was not able to test MIT, KSi, Scheme 9, Scheme 7, Oaklisp due to difficulties with their `eval` procedures (Scheme 9 has none).

oldvalue

Currently, it's undefined what happens if the first argument to `eval` is a list containing objects which have no datum representation, such as procedures, records, the end of file object, and so on.  I propose that we require `eval` to treat all these objects as self-quoting.  In particular, that means that a list whose car is a procedure (as opposed to an expression which evaluates to a procedure) is evaluated as a function call.

I tested this last case on my usual battery of Schemes.  Racket, Bigloo, Guile, Kawa, SISC, Larceny, STklos, !SigScheme, Elk, VX were able to evaluate a list with the `cons` procedure in the car.  Gauche, Gambit, Chicken, Scheme48/scsh, Chibi, Chez, SCM, Ikarus,  !IronScheme, UMB rejected it.  I was not able to test MIT, KSi, Ypsilon, Mosh, Scheme 9, Scheme 7, Oaklisp due to various problems, typically the inability to specify a standard environment to `eval` in a standard way.

raw-time

1317291791000000

ticket

281

time

2011-09-29 17:23:11