Changes between Version 8 and Version 9 of ImmutableParametersCowan


Ignore:
Timestamp:
09/22/10 23:14:44 (7 years ago)
Author:
cowan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ImmutableParametersCowan

    v8 v9  
    33''This is once more my current proposal.'' 
    44 
    5 This proposal defines ''parameter objects'', the procedure `make-parameter` to create parameter objects and the `parameterize `special form to dynamically bind parameter objects. In the dynamic environment, each parameter object is bound to a value, which may be any Scheme object. When a procedure is invoked, the called procedure inherits the dynamic environment from the caller. The `parameterize` special form allows the binding of a parameter object to be changed for the dynamic extent of its body. 
     5This proposal defines ''parameter objects'', the procedure `make-parameter` to create parameter objects and the `parameterize `special form to dynamically bind parameter objects. In the dynamic environment, each parameter object is bound to a value, which may be any Scheme object. When a procedure is invoked, the called procedure inherits the dynamic environment from the caller. The `parameterize` special form allows the binding of a parameter object to be changed for the dynamic extent of its body.  Parameter objects are disjoint from all Scheme types except procedures. 
    66 
    77The proposal is an alternative to ParametersSnellPym, providing immutable parameter objects.  It is a subset of SRFI 39, with the difference being that passing a non-zero number of arguments to a parameter object has undefined effect rather than assigning a new value to the parameter object.  The effect of SRFI 39 mutable parameters can be emulated by binding a mutable object such as a pair to the parameter.