That code is not at all readable, even knowing Haskell.
Even the recursive python version with memoization is a bit difficult to read, but least it has the recurrence relation in it.
vals = {}
def fib(n):
if n < 2:
return n
if n in vals.keys():
return vals[n]
val = fib(n-1) + fib(n-2)
vals[n] = val
return val