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.

Ticket 348: Editorial: "Declarative" and "imperative" need explanation

2012-10-09 21:54:14
WG1 - Core
cowan
major
cowan
fixed
source
closed
2012-02-23 07:02:29
defect

Page 23 [of draft 6], section 5.1: "program parts other than expressions that are present at the top level of a program can be interpreted declaratively" -- what does it mean for program parts to be "interpreted declaratively"? What's the difference between this, and expressions, which are "interpreted imperatively"?

Further on page 24 (section 5.2.1) it is said that "at the top level of a program, a definition [...] has essentially the same effect as the assignment expression", which further increases my confusion about what is "declarative" and what is not.

statusnewdecided
owneralexshinncowan
statusdecidedwriting

These terms aren't used anywhere else and don't add anything much here, so I ditched them. The text now reads:

Program parts other than expressions that are present at the top level of the problems cause bindings to be created in the top level environment or modify the value of existing top-level bindings. The initial (or "top level") Scheme environment is empty except for {\cf import}, so further bindings can only be introduced with {\cf import}.

Expressions occurring at the top level of a program are executed in order when the program is invoked or loaded, and typically perform some kind of initialization.

resolutionfixed
statuswritingclosed