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 #277
cc
changetime
2012-02-26 17:18:31
component
WG1 - Core
description
By allowing an evaluation function to be passed to `load`, it becomes possible to use it for languages other than Scheme expressed in S-expression syntax. The function would receive an S-expression read from the file and the environment passed to `load`.
id
277
keywords
milestone
owner
alexshinn
priority
major
reporter
cowan
resolution
invalid
severity
status
closed
summary
Add another argument to load to be the evaluator
time
2011-09-08 22:01:05
type
defect
Changes
Change at time 2012-02-26 17:18:31
author
alexshinn
field
comment
newvalue
This seems too random. There is no clear motivation or examples,
the status quo is widely implemented and sufficient for alternate
languages by specifying the env, and yet both solutions are
insufficient for languages with a different read syntax.
It's too late in the process to consider a change like this without
any precedent.
oldvalue
3
raw-time
1330247911031018
ticket
277
time
2012-02-26 17:18:31
Change at time 2012-02-26 17:18:31
author
alexshinn
field
resolution
newvalue
invalid
oldvalue
raw-time
1330247911031018
ticket
277
time
2012-02-26 17:18:31
Change at time 2012-02-26 17:18:31
author
alexshinn
field
status
newvalue
closed
oldvalue
new
raw-time
1330247911031018
ticket
277
time
2012-02-26 17:18:31
Change at time 2011-09-23 23:43:40
author
cowan
field
comment
newvalue
Possibilities:
env-only: status quo, default environment is `(interaction-environment)`
eval-only: eliminate the environment argument in favor of a evaluator argument, a one-argument procedure (by default, `(lambda (x) (eval x (interaction-environment))`
env-first: environment argument followed by evaluator argument, same defaults
eval-first: evaluator argument followed by environment argument, same defaults
oldvalue
2
raw-time
1316796220000000
ticket
277
time
2011-09-23 23:43:40
Change at time 2011-09-12 04:35:44
author
cowan
field
comment
newvalue
oldvalue
1
raw-time
1315776944000000
ticket
277
time
2011-09-12 04:35:44
Change at time 2011-09-12 04:35:44
author
cowan
field
summary
newvalue
Add another argument to load to be the evaluator
oldvalue
Add another argument to eval and load to be the evaluator
raw-time
1315776944000000
ticket
277
time
2011-09-12 04:35:44
Change at time 2011-09-12 04:35:44
author
cowan
field
description
newvalue
By allowing an evaluation function to be passed to `load`, it becomes possible to use it for languages other than Scheme expressed in S-expression syntax. The function would receive an S-expression read from the file and the environment passed to `load`.
oldvalue
`eval` currently takes an environment, and we are voting on whether to allow `load` to take one. By allowing an evaluation function to be passed as well, it becomes possible to use the eval/load infrastructure for languages other than Scheme expressed in S-expression syntax. This is a Good Thing.
raw-time
1315776944000000
ticket
277
time
2011-09-12 04:35:44