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