Keep the order if FirstToLast, reverse if LastToFirst.
[ 1, 2, 3 ] |> List.order LastToFirst
--> [ 3, 2, 1 ]
[ 1, 2, 3 ] |> List.order FirstToLast
--> [ 1, 2, 3 ]Split the Array into equal-sized chunks. The elements left over on one side are in less.
[ 1, 2, 3, 4, 5, 6, 7 ]
|> List.group 3 FirstToLast
--> { groups = [ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
--> , less = Array.fromList [ 7 ]
--> }
[ 1, 2, 3, 4, 5, 6, 7 ]
|> List.group 3 LastToFirst
--> { less = [ 1 ]
--> , groups = [ [ 2, 3, 4 ], [ 5, 6, 7 ] ]
--> }
Reduce a
Listin a direction.