llvm-hs-pure-5.1.1: src/LLVM/IRBuilder/Internal/SnocList.hs
module LLVM.IRBuilder.Internal.SnocList where
import LLVM.Prelude
newtype SnocList a = SnocList { unSnocList :: [a] }
deriving (Eq, Show)
instance Monoid (SnocList a) where
mappend (SnocList xs) (SnocList ys) = SnocList $ ys ++ xs
mempty = SnocList []
snoc :: SnocList a -> a -> SnocList a
snoc (SnocList xs) x = SnocList $ x : xs
getSnocList :: SnocList a -> [a]
getSnocList = reverse . unSnocList