Yeni Haskell programcısında nasıl çalıştığını açıklayın, foldr
'un nasıl uygulandığını görmek için kaynaklara yeterince gidin. Eh, kod basit (yeni gelenler hakkında OldList
veya FTP
hakkında bilmek beklemeyin).Yeni katmanın Haskell
Yeni kod nasıl çalışıyor?
-- | Map each element of the structure to a monoid,
-- and combine the results.
foldMap :: Monoid m => (a -> m) -> t a -> m
foldMap f = foldr (mappend . f) mempty
-- | Right-associative fold of a structure.
--
-- @'foldr' f z = 'Prelude.foldr' f z . 'toList'@
foldr :: (a -> b -> b) -> b -> t a -> b
foldr f z t = appEndo (foldMap (Endo #. f) t) z
değil yinelenen ama [I den 'foldr' alma konusunda bir cevap yazdım' foldMap' bir süre önce] (http://stackoverflow.com/a/23319967/2751851). Cevap, 'Monoid' ile temel aşinalılığı varsayar, bu yüzden lütfen bize verilen çok şey alınıp alınmadığını söyleyin. – duplode