<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title></title>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
body {
  margin: 5px 5px 5px 5px;
  background-color: #ffffff;
}
/* ---------- Text Styles ---------- */
hr { color: #000000}
body, table /* Normal text */
{
 font-size: 15pt;
 font-family: 'Consolas';
 font-style: normal;
 font-weight: normal;
 color: #000000;
 text-decoration: none;
}
span.rvts1 /* Heading */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-weight: bold;
 color: #0000ff;
}
span.rvts2 /* Subheading */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-weight: bold;
 color: #000080;
}
span.rvts3 /* Keywords */
{
 font-size: 10pt;
 font-family: 'Arial';
 font-style: italic;
 color: #800000;
}
a.rvts4, span.rvts4 /* Jump 1 */
{
 font-size: 10pt;
 font-family: 'Arial';
 color: #008000;
 text-decoration: underline;
}
a.rvts5, span.rvts5 /* Jump 2 */
{
 font-size: 10pt;
 font-family: 'Arial';
 color: #008000;
 text-decoration: underline;
}
span.rvts6
{
 font-weight: bold;
 color: #800000;
}
a.rvts7, span.rvts7
{
 color: #0000ff;
 text-decoration: underline;
}
span.rvts8
{
 font-weight: bold;
 color: #800000;
}
span.rvts9
{
 font-weight: bold;
 color: #800080;
}
span.rvts10
{
 font-size: 8pt;
 font-family: 'arial';
 font-style: italic;
 color: #c0c0c0;
}
a.rvts11, span.rvts11
{
 font-size: 8pt;
 font-family: 'arial';
 color: #0000ff;
 text-decoration: underline;
}
/* ---------- Para Styles ---------- */
p,ul,ol /* Paragraph Style */
{
 text-align: left;
 text-indent: 0px;
 padding: 0px 0px 0px 0px;
 margin: 0px 0px 0px 0px;
}
.rvps1 /* Centered */
{
 text-align: center;
}
--></style>
</head>
<body>

<p>Hello Jason,</p>
<p><br></p>
<p>Wednesday, August 27, 2008, 11:55:31 AM, you wrote:</p>
<p><br></p>
<p><span class=rvts9>&gt;&gt; given these constraints, it should be just a 10-20 lines of</span></p>
<p><span class=rvts9>&gt;&gt; code, and provide much better efficiency than any tree/trie</span></p>
<p><span class=rvts9>&gt;&gt; implementations</span></p>
<p><br></p>
<p><span class=rvts6>&gt; &nbsp; Much better efficiency in what way?</span></p>
<p><br></p>
<p>instead of going through many levels of tree/trie, lookup function will just select array element by hash value and look through a few elements in assoc list:</p>
<p><br></p>
<p>data HT a b = HT (a-&gt;Int) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -- hash function</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Array Int [(a,b)])</p>
<p><br></p>
<p>HT.lookup (HT hash arr) a &nbsp; = &nbsp; List.lookup (arr!hash a) a</p>
<p><br></p>
<p><br></p>
<p><br></p>
<p><span class=rvts10>--&nbsp;</span></p>
<p><span class=rvts10>Best regards,</span></p>
<p><span class=rvts10>&nbsp;Bulat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><a class=rvts11 href="mailto:bulat.ziganshin@gmail.com">mailto:Bulat.Ziganshin@gmail.com</a></p>

</body></html>