Theo this question luật functor 2 được ngụ ý bởi 1 trong Haskell:Haskell Luật functor đầu tiên từ Thứ hai
1st Law: fmap id = id
2nd Law : fmap (g . h) = (fmap g) . (fmap h)
là sự thật ngược lại? Bắt đầu từ luật thứ 2 và đặt g
bằng id
, tôi có thể giải thích lý do sau và nhận được luật thứ nhất không?
fmap (id . h) x = (fmap id) . (fmap h) x
fmap h x = (fmap id) . (fmap h) x
x' = (fmap id) x'
fmap id = id
nơi x' = fmap h x