<div>there have a lot of situation we need memorize intermediate computation value.&nbsp;</div><div>and use in further.</div><div>like this, compute nth fib question.</div><div>So,how memorize it?</div><div><br></div><div>i have an ugly solution.it used HashTable for memorization.</div><div><br></div><div>fib n table</div><div>&nbsp;| n==1 =1</div><div>&nbsp;| n==2 =1</div><div>&nbsp;| otherwise =</div><div>&nbsp; case lookup table of</div><div>&nbsp; &nbsp; Just v &nbsp; -&gt;(v,table)</div><div>&nbsp; &nbsp; Nothing -&gt;let (v,table') = fib (n-1) table in</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;let ( v',table'')= v + fib(n-2) table' in</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(v',table'')</div><div><br></div><div>i am an beginner come from imperative programming language.</div><div>so fib memorize version program hurt my brain ... particular in Nothing branches.</div><div>so do you have some good idea</div><div><br></div>