Size: a a a

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

2019 January 25

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
не, это рабочий проект) там уже много всего, но код, к сожалению, закрытый
когда доведу до мвп, то мб будет время запилить что-то ещё в опенсорс как пример
но в целом у Томаса норм пример с хорошим описанием что и почему он там делает
ну у меня ещё как пример есть вот тот простенький чатик https://github.com/vyorkin-play/chat-api, но я там не особенно старался и много сделал не правильно, поэтому стыдно показывать) пример с EventSource тут https://github.com/vyorkin-play/chat-api/blob/47edd7a0294d8a8eb5848edf552e5d6637e60c69/chat-web/src/Capability/Hub.purs#L36 и тут https://github.com/vyorkin-play/chat-api/blob/47edd7a0294d8a8eb5848edf552e5d6637e60c69/chat-web/src/Component/Router.purs#L118
ну я пока учусь
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
это вообще какой-то createEvent у него же и так есть {event, fire}
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
https://github.com/paf31/purescript-event/blob/af8b8d2e381f423c0b5e739e92668e392e77efce/src/FRP/Event.purs#L169
вот этот Event, не знаю почему он не добавил тайпалиас на этот рекорд... у меня там Bus не подходящее название мб, я не долго думал
источник
2019 January 26

ЗП

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

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
продолжение Unconsable
источник

ЗП

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

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
class Cons s t a b | s -> a, t -> b, s b -> t, t a -> s where
 _Cons :: L.Prism s t (Tuple a s) (Tuple b t)

class Snoc s t a b | s -> a, t -> b, s b -> t, t a -> s where
 _Snoc :: L.Prism s t (Tuple s a) (Tuple t b)
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
cons :: forall s a. Cons s s a a => a -> s -> s
cons = curry (simply L.review _Cons)

uncons :: forall s a. Cons s s a a => s -> Maybe (Tuple a s)
uncons = simply L.preview _Cons
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
snoc :: forall s a. Snoc s s a a => s -> a -> s
snoc = curry (simply L.review _Snoc)

unsnoc :: forall s a. Snoc s s a a => s -> Maybe (Tuple s a)
unsnoc = simply L.preview _Snoc
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
_head :: forall s a. Cons s s a a => L.Traversal' s a
_head = _Cons <<< L._1

_tail :: forall s a. Cons s s a a => L.Traversal' s s
_tail = _Cons <<< L._2
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
_init :: forall s a. Snoc s s a a => L.Traversal' s s
_init = _Snoc <<< L._1

_last :: forall s a. Snoc s s a a => L.Traversal' s a
_last = _Snoc <<< L._2
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
кстати на основе этого можно парсер-принтер строить
источник

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
type Parser s a = L.Prism' s (Tuple a s)

char :: forall s a. Cons s s a a => Parser s a
char = _Cons

runParser :: forall s a. L.Fold' (First (Tuple a s)) s (Tuple a s) -> s -> Maybe (Tuple a s)
runParser = L.preview

runPrinter :: forall s a. L.Review' s (Tuple a s) -> (Tuple a s) -> s
runPrinter = L.review
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
хах)
источник

ЗП

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

ЗП

Зигохистоморфный Препроморфизм in PureScript — русскоговорящее сообщество
а вот эти ваши Consable/Unconsable детские забавы
источник
2019 January 27

VY

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

ЗП

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

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
можно взять вон тот питонячий скрипт и для всех пакетов сгенерить доксет. конечно, придется самому обновлять постоянно
источник

VY

Vasiliy Yorkin in PureScript — русскоговорящее сообщество
в целом это более-менее удобно, наверное, я раньше пользовался dash на макоси, для хаскеля пользуюсь иногда до сих пор
источник