$ ghci Prelude> let getFromList ls pred = foldl (\x y -> if x `pred` y then x else y) (head ls) (tail ls) Prelude> getFromList [1..10] (<) 1 Prelude> getFromList [1..10] (>) 10
;Clojure example (defn get-from-list [list pred] (reduce #(if (pred %1 %2) %1 %2) list))