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 #473
cc
changetime
2012-10-12 02:22:27
component
WG1 - Core
description
R6RS allows only a single library declaration, `import`,
at the beginning of a program body, and this must
contain all imported libraries.
Pending the result of ticket #472 we may also allow
`include(-ci)` and `cond-expand` to expand into
imports, and so the single form restriction would not
make sense. However, it would be reasonable to
restrict all library declarations to the beginning of
a program - the first non-declaration would begin
the real body. This is the `beginning-only` option.
The advantage of the `r6rs` proposal is that it would
not require any changes in existing R6RS program
loading implementations to support. If the result of
ticket #472 indicates multiple declaration types are
available this option would automatically become
invalid, so you don't need to vote against it on those
grounds.
The advantage of the `beginning-only` option is
that it becomes possible to statically determine
all program imports without expansion, which was
the primary motivation of a static library system.
The final alternative is `any-top-level`, which
allows these forms anywhere at the top-level,
possibly interspersed with definitions. The advantage
of this is that you can cut&paste repl sessions
(for which interspersed imports are always allowed)
as a program. The disadvantage is that programs
can no longer be resolved separately from expansion.
id
473
keywords
milestone
owner
cowan
priority
major
reporter
alexshinn
resolution
fixed
severity
status
closed
summary
library declaration locations in top-level
time
2012-09-13 21:13:27
type
defect
Changes
Change at time 2012-10-12 02:22:27
author
cowan
field
comment
newvalue
oldvalue
3
raw-time
1349983347762604
ticket
473
time
2012-10-12 02:22:27
Change at time 2012-10-12 02:22:27
author
cowan
field
resolution
newvalue
fixed
oldvalue
raw-time
1349983347762604
ticket
473
time
2012-10-12 02:22:27
Change at time 2012-10-12 02:22:27
author
cowan
field
status
newvalue
closed
oldvalue
writing
raw-time
1349983347762604
ticket
473
time
2012-10-12 02:22:27
Change at time 2012-10-04 21:37:37
author
cowan
field
comment
newvalue
oldvalue
2
raw-time
1349361457959088
ticket
473
time
2012-10-04 21:37:37
Change at time 2012-10-04 21:37:37
author
cowan
field
owner
newvalue
cowan
oldvalue
alexshinn
raw-time
1349361457959088
ticket
473
time
2012-10-04 21:37:37
Change at time 2012-10-04 21:37:37
author
cowan
field
status
newvalue
writing
oldvalue
decided
raw-time
1349361457959088
ticket
473
time
2012-10-04 21:37:37
Change at time 2012-10-03 01:10:13
author
cowan
field
comment
newvalue
WG1 voted to adopt the `beginning-only` alternative. This means that programs (but not libraries or the REPL) must have all their `import` declarations appear at the beginning of the program.
oldvalue
1
raw-time
1349201413377997
ticket
473
time
2012-10-03 01:10:13
Change at time 2012-10-03 01:10:13
author
cowan
field
status
newvalue
decided
oldvalue
new
raw-time
1349201413377997
ticket
473
time
2012-10-03 01:10:13