Opened 6 years ago

Closed 6 years ago

#281 closed defect (wontfix)

Make non-readable objects self-quoting in EVAL

Reported by: cowan Owned by: alexshinn
Priority: major Milestone:
Component: WG1 - Core Keywords:

Description (last modified by cowan)

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

Change History (2)

comment:1 Changed 6 years ago by cowan

  • Description modified (diff)

comment:2 Changed 6 years ago by cowan

  • Resolution set to wontfix
  • Status changed from new to closed

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

Note: See TracTickets for help on using tickets.