packages feed

chiasma-0.2.0.0: lib/Chiasma/Lens/Where.hs

{-# LANGUAGE RankNTypes #-}

module Chiasma.Lens.Where(
  where1,
) where

import Control.Lens (Over, filtered, taking)

where1 :: (Applicative f, Traversable t) => (a -> Bool) -> Over (->) f (t a) (t a) a a
where1 predicate = taking 1 $ traverse . filtered predicate