{-# LANGUAGE NoImplicitPrelude #-} module Papa.Base.Implement.Data.List( lookup , (++) ) where import Data.Foldable(Foldable(foldr)) import Data.Eq(Eq((==))) import Data.Semigroup(Semigroup((<>))) import Data.Maybe(Maybe(Nothing, Just)) lookup :: (Eq a, Foldable f) => a -> f (a, b) -> Maybe b lookup a = foldr (\(x, y) b -> if x == a then Just y else b) Nothing (++) :: Semigroup a => a -> a -> a (++) = (<>)