[Haskell-beginners] How memorize intermediate computation value[my brain is so hurt]?

anyzhen jiangzhen3s at qq.com
Sat Feb 4 11:36:28 CET 2012


there have a lot of situation we need memorize intermediate computation value. 
and use in further.
like this, compute nth fib question.
So,how memorize it?


i have an ugly solution.it used HashTable for memorization.


fib n table
 | n==1 =1
 | n==2 =1
 | otherwise =
  case lookup table of
    Just v   ->(v,table)
    Nothing ->let (v,table') = fib (n-1) table in
                   let ( v',table'')= v + fib(n-2) table' in
                   (v',table'')


i am an beginner come from imperative programming language.
so fib memorize version program hurt my brain ... particular in Nothing branches.
so do you have some good idea
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20120204/7e3146e5/attachment.htm>


More information about the Beginners mailing list