Provided by: kaya_0.4.4-6ubuntu3_amd64 

NAME
Array::fold - Fold an array.
SYNOPSIS
b fold( b(a, b) f, [a] xs, b acc )
ARGUMENTS
f The function to use xs The array acc The initial value for folding.
DESCRIPTION
Applies a function across an array. For example, given a function sum which adds two integers: total = fold(sum,[1,2,3,4,5],0); putStrLn(String(total)); This prints the sum of the values in the array [1,2,3,4,5] The following example uses fold to calculate the final direction. data Direction = North | East | South | West; data Turn = Left | Right; Direction doTurn(Turn turn, Direction current) { case turn of { Left -> case current of { North -> new = West; | West -> new = South; | South -> new = East; | East -> new = North; } | Right -> case current of { North -> new = East; | West -> new = North; | South -> new = West; | East -> new = South; } } return new; } Void main() { turns = [Left,Left,Left,Right,Right,Left,Right,Left,Left]; original = West; final = fold(doTurn,turns,original); // final = North }
AUTHORS
Kaya standard library by Edwin Brady, Chris Morris and others (kaya@kayalang.org). For further information see http://kayalang.org/
LICENSE
The Kaya standard library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (version 2.1 or any later version) as published by the Free Software Foundation.
RELATED
Array.map (3kaya)