Opened 6 years ago

Closed 6 years ago

#114 closed defect (worksforme)

Require hygienic implementation of standard macros

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

Description (last modified by cowan)

That is, the standard syntax forms must be implemented as if they used hygienic macros; it is not actually required that they use them. For example, (let ((eqv? #f)) (case ...)) should not throw an error of the form "#f is not a procedure". A few Schemes, notably Bigloo, have this problem today.

Neither R5RS nor R6RS requires this, but I think the Principle of Least Astonishment does.

Change History (3)

comment:1 Changed 6 years ago by cowan

  • Description modified (diff)

comment:2 Changed 6 years ago by arcfide

To note, I would contend that both standards do require this behavior from the way that I read them. That is, each built-in form is expected to be referentially transparent, its behavior unchanging despite the context.

comment:3 Changed 6 years ago by cowan

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

R5RS actually does require this: see opening words of 4.2. Closing this.

Note: See TracTickets for help on using tickets.