Size: a a a

PureScript — русскоговорящее сообщество

2019 November 18

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Исправил сообщение
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Или в этом и суть, что первый вариант — Effect Unit, а второй — Effect (Effect Unit)?
источник

p

parket in PureScript — русскоговорящее сообщество
Так первый вы тоже исправили :)
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
В моём случае они оба были с вложением просто, потому что один canceler я всё же  возвращал (не стал писать в примере, потому что думал, что не относится к делу), тогда тесты проходили, сейчас добавил ещё пару к нему
источник

p

parket in PureScript — русскоговорящее сообщество
Если как сейчас написано, то canceler дропаются в первом случае, и нет во втором.
Тип у них один. Но первый кейс возвращает ничего не делающий canceller.
источник

p

parket in PureScript — русскоговорящее сообщество
Если смотреть из JS:
Effect (Effect Unit) - функция, котрая возвращает функцию canceler.
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
parket
Если как сейчас написано, то canceler дропаются в первом случае, и нет во втором.
Тип у них один. Но первый кейс возвращает ничего не делающий canceller.
дропаются в смысле не выполняются ==> отписка не происходит?
источник

p

parket in PureScript — русскоговорящее сообщество
Anton Kotenko
дропаются в смысле не выполняются ==> отписка не происходит?
Да. Они просто игнорируются. Вместо них ты возвращаешь pure unit ( () => ({}) )
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Если так, то странно, потому что я правда всего лишь добавил ещё кэнселеров к другому кэнселеру через <> (Semigroup), и тот я, кажется, тоже не вызывал
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Но может именно в моём коде тогда проблема
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
parket
Если смотреть из JS:
Effect (Effect Unit) - функция, котрая возвращает функцию canceler.
Да, глядел исходники FRP.Event, всё так
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Наверное всё-таки у меня первый случай, убрал вообще "возвращение" отписок и отписки, снова все тесты проходят (в т.ч. на то, чтобы отписки автоматически завершались). Оставил себе напоминание потом разобраться.
источник

p

parket in PureScript — русскоговорящее сообщество
Лучше сразу разобраться. :)
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Так-то конечно). Попробую ещё поломать тесты, да, может они несовершенны.
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Наверное понял, push в ивенты снаружи никто не использует, тесты проверяют не это. Потестировал в изоляции, в первом варианте подписка не отменяется, конечно
источник
2019 November 20

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Как внутри Aff избавиться от многочисленных liftEffect? Трансформер какой-то? Если да, то не могу придумать подходящий :(
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
написать один раз
liftEffect do
 aff1
 ...
 affn
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
хммм
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
тогда с Aff внутри нельзя чередовать
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
но можно так сгруппировать несколько эффектов, да, спасибо!
источник