Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %3.
- declare fun {Curry3 F}
- fun {$ X}
- fun {$ Y}
- fun {$ Z} {F X#Y#Z}
- end
- end
- end
- end
- declare fun {Uncurry F}
- fun {$ X#Y#Z} {{{F X} Y} Z}
- end
- end
- %4
- declare fun {SumProd L}
- case L of
- H|T then local S#P = {SumProd T}
- in S+H#P*H
- end
- [] nil then 0#1
- end
- end
- declare fun {FoldL F Acc L}
- case L of
- H|T then {FoldL F {F Acc H} T}
- [] nil then Acc
- end
- end
- declare fun {SumProd1 L}
- local fun {F A#B C}
- A+C#B*C
- end
- in {FoldL F 0#1 L}
- end
- end
- {Browse {SumProd1 1|2|3|nil}}
Add Comment
Please, Sign In to add comment