Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;https://stackoverflow.com/questions/60331920/
- ;;partial-application-versus-pattern-matching-why-do-these-haskell-functions-beha
- memfib = -- (!!) (map fib [0..])
- let
- fib 0 = 0
- fib 1 = 1
- fib k = memfib(k-2) + memfib(k-1)
- --?1-- map_fib = (map fib [0..])
- in
- --?2-- (!!) (map fib [0..])
- --?1-- (!!) map_fib -- what GHC does
- memfib_param -- n = ((!!) (map fib [0..])) n
- = \n ->
- let
- fib 0 = 0
- fib 1 = 1
- fib k = memfib_param (k-2) + memfib_param (k-1)
- in
- ((!!) (map fib [0..])) n
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement