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