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 #115

cc


    

changetime

2011-05-19 14:19:10

component

WG1 - Core

description

`(let ((cdr #f)) (length '(a b c)))` and `(define cdr #f) (length '(a b c)))` should not throw exceptions, because binding or mutating the variable `cdr` should not affect the behavior of `length`.

id

115

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

worksforme

severity


    

status

closed

summary

Rebinding variables shouldn't affect the behavior of standard procedures

time

2010-12-23 10:05:25

type

defect

Changes

Change at time 2011-05-19 14:19:10

author

alexshinn

field

comment

newvalue

In the chapter "Standard Procedures:"

> A program may use a top-level definition to bind any variable.
> It may subsequently alter any such binding by an assignment (see
> Assignments).  These operations do not modify the behavior of
> Scheme's built-in procedures.  Altering any top-level binding
> that has not been introduced by a definition has an unspecified
> effect on the behavior of the built-in procedures.

this was introduced in IEEE Scheme, and therefore cannot be
removed without an argument that it is fundamentally broken.
I've seen no one argue against this, so will close the ticket.

oldvalue

2

raw-time

1305789550000000

ticket

115

time

2011-05-19 14:19:10

Change at time 2011-05-19 14:19:10

author

alexshinn

field

resolution

newvalue

worksforme

oldvalue


    

raw-time

1305789550000000

ticket

115

time

2011-05-19 14:19:10

Change at time 2011-05-19 14:19:10

author

alexshinn

field

status

newvalue

closed

oldvalue

new

raw-time

1305789550000000

ticket

115

time

2011-05-19 14:19:10

Change at time 2010-12-23 13:37:19

author

cowan

field

comment

newvalue

Most Schemes already behave like this (Scheme 9 is an exception), and R6RS requires it.

oldvalue

1

raw-time

1293082639000000

ticket

115

time

2010-12-23 13:37:19