From: John Max Skaller <skaller@ozemail.com.au>
To: yann@lrde.epita.fr
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] sorting Hashtbl.t
Date: Thu, 15 Aug 2002 08:16:47 +1000 [thread overview]
Message-ID: <3D5AD6CF.7030603@ozemail.com.au> (raw)
In-Reply-To: <20020812101020.GV6002@barcelona.lrde.epita.fr>
>
> From an algorithmic point of view, there is no way to sort an
> hash table since there is no order attached to items.
Ocaml has a polymorphic comparison function (which works
on all non-cyclic data structures). Therefore, any collection
of (non-cyclic) data elements can be sorted, and the request
actually makes sense. It is also something I wish to do
often.
However, I would ask for different function(s):
Hastbl.to_list
Hashtbl.to_lista
Hashtbl.to_sorted_list compar
Hashtbl.to_sorted_lista compar
which creates association list(s),
the standard version(s) producing
unique keys, and the 'a' version(s) an entry
for every element in the hashtable, with
duplicate keys in reverse order of entry into the table.
(so a sequential search finds the same value that a
Hashtbl.find would). Of course I can write this
function myself, it's just inconvenient to have to
keep doing so.
By the way: how can I make a hashtable that
uses addresses as keys? I.e. computes the hash
value on an address, not on a value.
(for collecting terms).
Hmmm. What happens if the key is a reference?
(or otherwise contains a mutable value?)
--
John Max Skaller, mailto:skaller@ozemail.com.au
snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia.
voice:61-2-9660-0850
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next prev parent reply other threads:[~2002-08-14 22:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-12 1:08 Oleg
2002-08-12 9:51 ` Nicolas Cannasse
2002-08-12 13:44 ` Oleg
2002-08-13 7:45 ` Igor I. Harzmann
2002-08-12 10:10 ` Yann Régis-Gianas
2002-08-14 22:16 ` John Max Skaller [this message]
2002-08-14 23:13 ` Alexander V.Voinov
2002-08-15 16:43 ` Brian Rogoff
2002-08-16 17:47 Brian Rogoff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D5AD6CF.7030603@ozemail.com.au \
--to=skaller@ozemail.com.au \
--cc=caml-list@inria.fr \
--cc=yann@lrde.epita.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox