[r6rs-discuss] [Formal] proc in hash-table-update! should not mutate hash-table

From: Jed Davis <r6rs>
Date: Thu Feb 22 20:48:34 2007

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

This archive was generated by hypermail 2.3.0 : Wed Oct 23 2024 - 09:15:01 UTC