Size: a a a

2021 June 15

к

кана in Haskell
ну то есть вопрос был про фримонаду, а пример был про функтор для нее
источник

к

кана in Haskell
ну и вообще говоря любой функтор подойдет
источник

X

XÆA-XII in Haskell
Погодите
источник

X

XÆA-XII in Haskell
Свободные монады - не монады?
источник

JM

Jonn Mostovoy in Haskell
Они "бесплатные"
источник

X

XÆA-XII in Haskell
Фри
источник

X

XÆA-XII in Haskell
Как картошка
источник

X

XÆA-XII in Haskell
Но не суть
источник

X

XÆA-XII in Haskell
Вопрос в этом
источник

к

кана in Haskell
ты кажется путаешь тип Free и то что в него передается
источник

к

кана in Haskell
функтор, который в него передается (как твой Toy) монадой быть не должен, достаточно функтор
источник

X

XÆA-XII in Haskell
Я уже даже не знаю, что я путаю
источник

к

кана in Haskell
а вот Free (Toy x) будет уже монадой
источник

X

XÆA-XII in Haskell
То есть, Free f r - не монада
источник

к

кана in Haskell
инстанс монады пишется для конструктора типов, а не для типа, то есть Free f будет монадой, если f - функтор. А Free f r уже нет

То есть например Maybe - монада, в отличии от Maybe x
источник

X

XÆA-XII in Haskell
Ааа
источник

X

XÆA-XII in Haskell
Free f - монада, Free и Free f r - нет
источник

к

кана in Haskell
но это не так важно, я думаю ты не на том сфокусировался
источник

к

кана in Haskell
у тебя есть какой-то f, который функтор. Например твой (Toy x), или Maybe даже просто

тогда, Free Maybe будету же монадой, даже если у самого Maybe нет инстанса монады
источник

JS

Jerzy Syrowiecki in Haskell
а для Freer даже функтор не нужен
источник