On Thu, Mar 3, 2011 at 8:58 AM, Jeff Thompson <span dir="ltr"><<a href="mailto:jeff@thefirst.org">jeff@thefirst.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
I have a Prolog program that uses assert to copy many records to a predicate for querying, such as<br>
customer(ID, CustomerName).<br>
(A key is created for fast lookup.)  Once the data is loaded, it is not modified.  Only declarative queries are made.<br>
<br>
What is the recommended Mercury library for storing a table like this with keyed lookup, with an emphasis on handling tens of thousands of rows and efficient lookup (but not a need to modify efficiently)?<br>
<br></blockquote><div><br></div><div>Have a look at the map module.  This is wrapper around tree234.  You could also try rbtree or version_hashtable.  If your keys are integers you might also want to look at version_array.</div>
<div><br></div><div>Ian.</div></div>