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

cc


    

changetime

2012-10-07 04:34:47

component

WG1 - Core

description

I have reluctantly come to the same conclusion as the R6RS editors: that in a Scheme with libraries, `scheme-report-environment` and `null-environment` don't make much sense.  They are not in IEEE Scheme or R4RS, so there is no formal barrier to removing them.

Semantically, `scheme-report-environment` holds all the identifiers in R5RS, excepting any which the implementation doesn't provide, like `make-rectangular` if it does not have complex numbers.  `Null-environment`, on the other hand, contains only the syntax keywords with none of the standard procedures: it is not an empty environment.  R6RS preserves these procedures only in the R5RS compatibility library, where they expose only R5RS content.

When adapting the definition to R7RS, I changed `scheme-report-environment` to contain all the identifiers in all the standard libraries that the implementation provides, and `null-environment` all the syntax keywords in those libraries.  This was the best I thought I could do, but now I think that it provides very little utility.

It's possible to construct any specific environment you want by using the `environment` procedure, which turns a sequence of import-specs into an environment.  In particular, we now have the `(scheme r5rs)` library, which essentially provides what `(scheme-environment-procedure 5)` should provide, and there is no portable use of any argument other than 5.

id

394

keywords


    

milestone


    

owner

cowan

priority

major

reporter

cowan

resolution

fixed

severity


    

status

closed

summary

Ditching SCHEME-REPORT-ENVIRONMENT and NULL-ENVIRONMENT

time

2012-05-29 01:22:51

type

defect

Changes

Change at time 2012-10-07 04:34:47

author

cowan

field

comment

newvalue


    

oldvalue

3

raw-time

1349559287175285

ticket

394

time

2012-10-07 04:34:47

Change at time 2012-10-07 04:34:47

author

cowan

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1349559287175285

ticket

394

time

2012-10-07 04:34:47

Change at time 2012-10-07 04:34:47

author

cowan

field

status

newvalue

closed

oldvalue

writing

raw-time

1349559287175285

ticket

394

time

2012-10-07 04:34:47

Change at time 2012-08-27 04:02:49

author

cowan

field

comment

newvalue


    

oldvalue

2

raw-time

1346014969706405

ticket

394

time

2012-08-27 04:02:49

Change at time 2012-08-27 04:02:49

author

cowan

field

owner

newvalue

cowan

oldvalue

alexshinn

raw-time

1346014969706405

ticket

394

time

2012-08-27 04:02:49

Change at time 2012-08-27 04:02:49

author

cowan

field

status

newvalue

writing

oldvalue

decided

raw-time

1346014969706405

ticket

394

time

2012-08-27 04:02:49

Change at time 2012-08-26 23:18:09

author

cowan

field

comment

newvalue

WG1 voted to migrate these procedures to the `(scheme r5rs)` library only.

oldvalue

1

raw-time

1345997889314776

ticket

394

time

2012-08-26 23:18:09

Change at time 2012-08-26 23:18:09

author

cowan

field

status

newvalue

decided

oldvalue

new

raw-time

1345997889314776

ticket

394

time

2012-08-26 23:18:09