Size: a a a

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

2020 June 15

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Anton Kotenko
_registry :: forall d c n. Lens' (Network d c n) (UUID.Tagged /-> Entity d c n)
_registry =
   lens getter setter
   where
       getter (Network { registry }) = registry
       setter (Network nwstate) val =
           Network nwstate { registry = val }
Ну и тогда:

_entity :: forall d c n. UUID.Tagged -> Prism' (Network d c n) (Entity d c n)
_entity uuid =
   _registry <<< at uuid
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
так не работает, а _entity :: forall d c n. UUID.Tagged -> Lens' (Network d c n) (Maybe (Entity d c n)) работает
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
То есть компилятор выводит сам тип Lens' (вернее, ∀ p. Strong p ⇒ p (Maybe (Entity d c n)) (Maybe (Entity d c n)) → p (Network d c n) (Network d c n))
источник

AK

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

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Зигохистоморфный Препроморфизм
По моему это траверсал
Traversal' (Network d c n) (Entity d c n) тоже компилятору не подходит. Но говорит:

 Could not match type

   Entity d1 c2

 with type

   Maybe


Может быть at неправильно использовать?
источник

AK

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

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Понял, опциональное значение — не обязательно призма?
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
Anton Kotenko
Понял, опциональное значение — не обязательно призма?
можно через pre
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
pre ...  <<< non
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
например
[] ^. pre _head . non 10
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
pre lens . non default
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
Map.fromList [] ^. at "a" . non 1000
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
смотря что тебе надо
источник

AK

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

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
которая profunctor-optics
источник

AK

Anton Kotenko in PureScript — русскоговорящее сообщество
Там подойдёт Lens' s (Maybe a), призму думал сделать только потому, что думал, что так "правильнее"
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
Anton Kotenko
pre не нашёл в пурсовой либе
он легко делается
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
to <<< preview
источник

ЗП

Зигохистоморфный Пре... in PureScript — русскоговорящее сообщество
pre :: forall s a. L.Fold' (First a) s a -> L.Getter' s (Maybe a)
pre = L.to <<< L.preview
источник

AK

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