{- | Module : $Header$ Description : Lists. dealwithit.jpeg. Copyright : (c) plaimi 2015 License : GPL-3 Maintainer : plailude@plaimi.net -} module Plailude.Control.List where (!?) :: [a] -> Int -> Maybe a -- | Safe indexing of lists. l !? i = if i < 0 then Nothing else go i l where go _ [] = Nothing go 0 (x:_) = Just x go n (_:xs) = go (n - 1) xs