Browse thread
modifying hash tables
-
Sam Steingold
- Christopher L Conway
- Sam Steingold
- David Allsopp
- Zheng Li
- Jon Harrop
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Sam Steingold <sds@g...> |
| Subject: | Re: modifying hash tables |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Sam Steingold wrote:
> I want to modify the _current_ datum in Hashtable.iter, e.g., increment
> a count. Is this code valid?
> Hashtable.iter ht ~f:(fun ~key ~data ->
> Hashtable.replace ht ~key ~data:(data+1))
> (it appears to work, but I was told that "it is not guaranteed to work",
> i.e., the documentation does not promise that).
> If the above code is wrong, what is TRT?
in case you wondered why I think my code is reasonable:
http://www.lisp.org/HyperSpec/Body/sec_3-6.html
Hash-table traversal
For hash table traversal operations, new elements may not be added
or deleted except that the element corresponding to the current hash key
may be changed or removed.
(yes, I know OCaml is NOT Common Lisp).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGnjltPp1Qsf2qnMcRAhZDAJ9JLNLklo6tK+oGSd2ije172z+3+wCcDXyc
JRU8vSR/5cMBDeBTFjvSylg=
=Q5wE
-----END PGP SIGNATURE-----