Можно ли переписать это с помощью функций библиотеки?Как я могу разбить список на куски, используя span?
chunks :: ([a] -> ([a], [a])) -> [a] -> [[a]]
chunks f [] = []
chunks f xs = case c of
[] -> cs
ys -> ys : cs
where
(c, rest) = f xs
cs = chunks f rest
Если я дам ему span
-кака функции, которая всегда принимает, по меньшей мере, один элемент из списка, он будет потреблять список и возвращает список с подсписками элементов, которые были разорваны каждый раз, когда функция назывался.
Вы могли бы также, как [раскол] (HTTP: //hackage.haskell .org/package/split), который предлагает множество способов списков фрагментов и кубиков ... или одну из многих библиотек-разборчиков синтаксического анализа. –