(hash-ref a-hash a-key a-value)
In the past a-value was required to be a procedure.
Now it can be anything.
 
Nice.
Two caveats though.
1. If the value of a-value happens to be a procedure to be stored, it may
unintentionally be called.
2. a-value may be an expresssion that takes much computation. This
computation is repeated every time the hash-ref line is evaluated.
 
Simply helped of course: I make it a habbit always to write or to have
macros expand to:
(hash-ref a-hash a-key (lambda () a-value))
 
In short, I do not well understand the reason to relax the contract of
hash-ref and hash-ref!.
Jos
_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to