iterable-3.0: API for hierarchical multilevel collections.

Safe HaskellSafe
LanguageHaskell98

Data.Iterable

Description

Declares Iterable class for handling multi-level, heterogeneous, monomorphic collections that allow nested iteration.

Synopsis

Documentation

class Iterable a b where #

Class for iterating all nested components b of type a.

Minimal complete definition

itmapM, itfoldM, itfoldr, itfoldl, itfoldl', itlength

Methods

itmapM :: Monad m => (b -> m b) -> a -> m a #

itmap :: (b -> b) -> a -> a #

itfoldM :: Monad m => (c -> b -> m c) -> c -> a -> m c #

itfoldr :: (b -> c -> c) -> c -> a -> c #

itfoldl :: (c -> b -> c) -> c -> a -> c #

itfoldl' :: (c -> b -> c) -> c -> a -> c #

itlength :: Proxy b -> a -> Int #