On Tue, Feb 20, 2007 at 08:16:13PM -0500, Daniel Villeneuve wrote:
[]
> PROPOSAL
>
> Add "<proc> must not mutate the hash-table" as in the specification of map.
I hope that this would be a requirement on the program rather than the
implementation.
And then there are the continuation issues. If <proc> returns more
than once, I assume that the effect is undefined. If <proc> returns
exactly once, I assume that the prohibition on modification applies to
everything after the call and before the return, wherever in the dynamic
extent tree such may lie. If <proc> does not return (e.g., if it raises
an exception that's caught outside the hash-table-update! call and not
continued), I hope that the hash table will remain mutable.
--
(let ((C call-with-current-continuation)) (apply (lambda (x y) (x y)) (map
((lambda (r) ((C C) (lambda (s) (r (lambda l (apply (s s) l)))))) (lambda
(f) (lambda (l) (if (null? l) C (lambda (k) (display (car l)) ((f (cdr l))
(C k))))))) '((#\J #\d #\D #\v #\s) (#\e #\space #\a #\i #\newline)))))
Received on Thu Feb 22 2007 - 20:48:26 UTC