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

cc


    

changetime

2011-07-10 21:45:20

component

WG1 - Core

description

In R5RS, there are three kinds of BEGINs:

1) All subforms are expressions; this can be used wherever an expression can be used.  (4.2.3)

2) All subforms are definitions; this can be used wherever an internal definition can be used.  (5.2.2)

3) Subforms can be definitions or expressions intermixed in any order; this can be used only at top level.  (In R7RS we extend this to module top level as well).  (5.1)

In particular,

{{{
(define (x)
 (define y 32)
 (begin
   (define z 45)
   (set! y z))
 y)
}}}

is not licensed by any of these provisions, and consequently is not valid R5RS Scheme.  Nevertheless, all of my usual Schemes accept the above definition except Scheme48/scsh and SSCM -- actually, SSCM fails when you invoke x rather than when you define it.  So I'm proposing that we unify them for R7RS.

id

173

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

fixed

severity


    

status

closed

summary

Unifying BEGINs

time

2011-05-06 03:40:39

type

defect

Changes

Change at time 2011-07-10 21:45:20

author

alexshinn

field

comment

newvalue

We voted not to change this.

oldvalue

1

raw-time

1310309120000000

ticket

173

time

2011-07-10 21:45:20

Change at time 2011-07-10 21:45:20

author

alexshinn

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1310309120000000

ticket

173

time

2011-07-10 21:45:20

Change at time 2011-07-10 21:45:20

author

alexshinn

field

status

newvalue

closed

oldvalue

new

raw-time

1310309120000000

ticket

173

time

2011-07-10 21:45:20