[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ``Update functions'' in Scheme.
> [example where a function (setter accessor) obtains the mutator for
> a given accessor function by table lookup]
> The key point here is that Scheme already has enough power to express
> the abstract relationship between accessors and mutators; there is no
> need to "extend" the language to provide this feature.
If this is true, then please tell me how you would do the following
using the method you described.
Suppose I want to write a new print function that involves a ``print length''.
The function (print-length) should serve both as an accessor and as a
mutator for the actual print length. That is,
simply returns the current print length, while
(set! (print-length) 20)
should be used to change the print length (changing it would include some
kind of sanity check).
Using the extension to Scheme I outlined in a previous message, the actual
variable holding the print length (say, *print-length*) could be a local
variable to the combined accessor/mutator function:
(let ((*print-length* 100))
How would you do something like this using the method you proposed
without employing a global variable?
Oliver Laumann, Technical University of Berlin, Germany.
...!pyramid!tub!net or net@TUB.BITNET