RosettaCodeData/Task/Catamorphism/ArkScript/catamorphism.ark

8 lines
271 B
Plaintext

(import std.List :reduce :foldLeft)
(let sum (fun (a b) (+ a b)))
(assert (= 10 (reduce [1 2 3 4] sum)) "reduce array to 10")
(assert (= 10 (foldLeft [1 2 3 4] 0 sum)) "fold array to 10")
(assert (= 12 (foldLeft [1 2 3 4] 2 sum)) "fold array to 12 with initial value")