Guest User

Untitled

a guest
Jan 26th, 2018
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Oz 0.61 KB | None | 0 0
  1. %3.
  2. declare fun {Curry3 F}
  3.        fun {$ X}
  4.           fun {$ Y}
  5.          fun {$ Z} {F X#Y#Z}
  6.          end
  7.           end
  8.        end
  9.     end
  10.  
  11. declare fun {Uncurry F}
  12.        fun {$ X#Y#Z} {{{F X} Y} Z}
  13.           end
  14.     end
  15. %4
  16. declare fun {SumProd L}
  17.        case L of
  18.           H|T then local S#P = {SumProd T}
  19.                in S+H#P*H
  20.                end
  21.        [] nil then 0#1
  22.        end
  23.     end
  24.  
  25. declare fun {FoldL F Acc L}
  26.        case L of
  27.           H|T then {FoldL F {F Acc H} T}
  28.        [] nil then Acc
  29.        end
  30.     end
  31.  
  32. declare fun {SumProd1 L}
  33.        local fun {F A#B C}
  34.             A+C#B*C
  35.          end
  36.        in {FoldL F 0#1 L}
  37.        end
  38.     end
  39.  
  40. {Browse {SumProd1 1|2|3|nil}}
Add Comment
Please, Sign In to add comment