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