Возьмём Клейсли-категорию для монады Writer. Затем определим функтор такой, что
F(a) = 1 + a * F(a) -- список
F(f) = id + f * F(f)
-- null -> null
-- (x, xs) -> (f x, F(f) xs)
где + и * в F(f) - choose и parcomp
Но в таком случае, если я ничего не путаю, не соблюдается F(f . g) = F(f) . F(g)
Действительно, возьмём f, пишущий "f" и возвращающий свой
(
Read more... )