Size: a a a

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

2019 October 27

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Чем для валидации пользуетесь?
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
такую штуку нашел
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Офигеть ado?
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
аду нотация я такого что то не видел
источник

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
В PureScript by Example такого не было
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Gleb Patsiia
Офигеть ado?
Это do`-нотация для Applicative (`fmap`+`apply вместо bind для монад, в статье есть пример)
источник

AK

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

GP

Gleb Patsiia in PureScript — русскоговорящее сообщество
Ага понял спасибо
источник
2019 November 18

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Здравствуйте, хотел уточнить. Вот эти функции ведут себя по-разному, когда вызванные снаружи. Такое впечатление, что в первом случае оба canceler'а (когда дискардятся) вызываются при вызове такой фунции, а во втором (когда "возвращаются") — нет, и пользователь должен их вызвать сам. Так ли это, и если да, то второй способ лучше, да же?

performAndGetCanceler :: Effect (Effect Unit)
performAndGetCanceler = ...

... -> Effect Unit
... = do
   _ <- performAndGetCanceler
   _ <- performAndGetCanceler
  pure unit


... -> Effect Unit
... = do
   canceler1 <- performEffect1
   canceler2 <- performEffect2
  pure $ canceler1 <> canceler2
источник

p

parket in PureScript — русскоговорящее сообщество
А какой тип у canceler{1,2}
источник

p

parket in PureScript — русскоговорящее сообщество
Unit?
источник

AK

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

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
В моём случае это FRP.Event.subscribe, например
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
там :: Effect (Effect Unit), где обёртка это подписка, а вложенный Effect Unit — это остановка подписки (a.k.a. canceler)
источник

AK

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

AK

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

p

parket in PureScript — русскоговорящее сообщество
А у pure $ canceler1 <> canceler2 какой тип?
Effect (Effect Unit) же, а не ... -> Effect Unit
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
да, прошу прощения, это верно
источник