в чем их суть?
foldr :: (a -> b -> b) -> b -> [a] -> b
-- foldr _ z [] = z
-- foldr f z (x:xs) = f x (foldr f z xs)
{-# INLINE [0] foldr #-}
foldr k z = go
where
go [] = z
go (y:ys) = y `k` go ys
https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/pragmas.html#inline-pragma
Обсуждают сегодня