jmg-duarte / group-list / GroupList

This module adds better grouping and interleaving for List

Functions

group : Basics.Int -> List a -> List (List a)

Group elements from a list in smaller groups of the given size

group 3 <| List.range 0 9 == [ [ 0, 1, 2 ], [ 3, 4, 5 ], [ 6, 7, 8 ], [ 9 ] ]

group 3 <| String.toList "Hello, World!" == [ [ 'H', 'e', 'l' ], [ 'l', 'o', ',' ], [ ' ', 'W', 'o' ], [ 'r', 'l', 'd' ], [ '!' ] ]

interleave : Basics.Int -> a -> List a -> List a

Interleave elements in a list at a specified interval

interleave 3 -1 <| List.range 0 9 == [ [ 0, 1, 2 ], [ 3, 4, 5 ], [ 6, 7, 8 ], [ 9 ] ]

interleave 3 '.' "Hello, World!" == [ 'H', 'e', 'l', '.', 'l', 'o', ',', '.', ' ', 'W', 'o', '.', 'r', 'l', 'd', '.', '!' ]