module-management-0.20.2: testdata/split-expected/Data/Logic/Classes/Literal/FoldAtomsLiteral.hs
{-# LANGUAGE FlexibleInstances, FunctionalDependencies, MultiParamTypeClasses, RankNTypes, ScopedTypeVariables, UndecidableInstances #-}
{-# OPTIONS -Wwarn #-}
module Data.Logic.Classes.Literal.FoldAtomsLiteral
( foldAtomsLiteral
) where
import Data.Logic.Classes.Literal.Literal (Literal(foldLiteral))
foldAtomsLiteral :: Literal lit atom => (r -> atom -> r) -> r -> lit -> r
foldAtomsLiteral f i lit = foldLiteral (foldAtomsLiteral f i) (const i) (f i) lit