Advertisement
Guest User

two LET rewrites

a guest
Feb 22nd, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;;https://stackoverflow.com/questions/60331920/
  2. ;;partial-application-versus-pattern-matching-why-do-these-haskell-functions-beha
  3.  
  4. memfib = -- (!!) (map fib [0..])
  5.   let
  6.     fib 0 = 0
  7.     fib 1 = 1
  8.     fib k = memfib(k-2) + memfib(k-1)
  9.     --?1-- map_fib = (map fib [0..])
  10.   in
  11.      --?2-- (!!) (map fib [0..])
  12.      --?1-- (!!)  map_fib                 -- what GHC does
  13.  
  14. memfib_param -- n = ((!!) (map fib [0..])) n
  15.              = \n ->  
  16.   let
  17.     fib 0 = 0
  18.     fib 1 = 1
  19.     fib k = memfib_param (k-2) + memfib_param (k-1)
  20.   in
  21.     ((!!) (map fib [0..])) n
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement