Alexander
cereal дурацкая весьма, хоть они и исправились в какой-то момент
Denis
еще можно квикчек за компанию, там монады беззаконные
Alexander
cereal и binary сейчас по типам и общему апи вообще не отличаются
Евгений
впервые слышу
Dcpo_|_ это основная категория, в которой работает теория доменов, ну. dcpo-enriched категории будут хорошими денотационныси моделями для тьюринг-полных языков с нормальными типами
Alexander
а не в cereal билдеров нету
Дмитрий
Denis
Alexander
Alexander
и тормозила одно время по сравнению с binary
Евгений
Alexander
в общем стандартный - вышел на шаг вперёд - отстал на 2 назад
Дмитрий
А какой самый правильный способ приладить протобуфер?
Alexander
decode :: Serialize a => ByteString -> Either String a ?
Alexander
мы не можем вернуть результат не законсьюмив все?
Denis
не вникал, в общем
Alexander
действительно полезно
Дмитрий
Ага, а бинари кидается исключениями.
Alexander
и правильно делает
Alexander
второе в первое превращается достаточно прямолинейно
Alexander
тем более если это важно, то пользоваться итеративным API все равно будешь
Alexander
лучше было бы Stream (Of a) m (Either ParseError ())
Alexander
для строгих мелких строк то что в cereal удобнее
Alexander
особенно если какой asum захочется накрутить
Alexander
decodeOrFail :: Binary a => ByteString -> Either (ByteString, ByteOffset, String) (ByteString, ByteOffset, a)
Alexander
вот есть такая штука в binary для тех, кому нужно возможно падать
Alexander
ParseEror вместо String конечно полезнее бы было
Дмитрий
Мне бы возможность считывать список поэлементно...
Alexander
тогда забудь про Either
Alexander
в типе результата
Alexander
для поэлементного считывания у обоих есть incremental API
Alexander
https://hackage.haskell.org/package/binary-0.8.5.1/docs/Data-Binary-Get.html#g:3
Alexander
http://hackage.haskell.org/package/cereal-0.5.5.0/docs/Data-Serialize-Get.html#g:2
Alexander
которые абсолютно одинаковые
Дмитрий
Нужно будет повникать. А вообще, я ищу что-то той же степени комфортности, но с протобуфер, чтобы меня мог понять не только хаскель, но и С++
Alexander
протобуфер либы надо брать
Alexander
есть n штук часть вполне юзабельные
Alexander
но у меня нету up to date информации, может там что изменилось
Alexander
https://twitter.com/Iceland_jack/status/969897049478041600
Alexander
@IIvana ^ =)
Дмитрий
Какая из них лучше? Чтобы не наворачивать много шаблонного кода?
Alexander
https://hackage.haskell.org/package/protobuf <- я эту юзал лет 5 назад
Alexander
https://hackage.haskell.org/package/protobuf-native тут какой-то обзор в ридми есть
Alexander
просто за 5+ лет много чего измениться могло
Дмитрий
Ага смотрел, выглядит так, что мне нужно будет продублировать часть системы типов и написать преобразования из одного в другое и обратно :(
Дмитрий
На фоне той халявы, которую предоставляет cereal совершенно не вдохновляет.
Leonid 🦇
Гугловский протобуф бери. Который с линзами
A64m
Leonid 🦇
MonadPlus и Alternative
Дмитрий
Евгений
Евгений
Или самому костылить?
Leonid 🦇
Нету
Leonid 🦇
У гпрс нет вроде описания протокола. Типа смотрите сорцы
Leonid 🦇
Ну поверх хттп2, и все что известно
Leonid 🦇
Я правда давно не смотрел
A64m
контравариант, кстати, в base все видели уже?
Leonid 🦇
Нет. Говорят в Base инстансов не найти для него
кана
http://git.haskell.org/ghc.git/blob/HEAD:/libraries/base/Data/Functor/Contravariant.hs
кана
черт
кана
я думал хоть когда в base включат, нормальное имя дадут
кана
а то можно и функтор в Covariant переименовать
Leonid 🦇
Фига себе, я у Кметта спрашивал про контравариант когда бифунктор добавили он говорил планов нет, ибо нет инстансов
кана
туда еще и Predicate вставили, который являетя монодом по && (в то время как он может быть и по || моноидаться)
кана
почему не сделать две обертки (или ввести некую гейтинговую аглебрку и сделать All Any полиморфными для всех инстансов ее (то есть и булы, и предикаты))
Leonid 🦇
http://git.haskell.org/ghc.git/history/HEAD:/libraries/base/Data/Functor/Contravariant.hs 16 часов назад
Leonid 🦇
А чо пропозал то был? Или либрарис комитет так обходится?
A64m
ТЕПЕРЬ НЕТУ ПЛАНОВ ПРО ПРОФУНКТОР, а там и про дивизибл/десайдабл и стронг/чойс планов не будет
Alexander
Leonid 🦇
Главное чтобы Default не добавили
Alexander
*им ехать а не пропозалы
A64m
у них есть пропозалы, но неформальные и в мейллисте
Leonid 🦇
А почему нет батхерта от этого ни у кого?
A64m
есть
A64m
недели три назад было очередное бурление
Leonid 🦇
Ссылка есть?
A64m
оказывается, пару недель назад обсуждалось, как бы подлить в библиотечный процесс кафкианского кошмара, но Кметт чего-то не захотел, говорит мы в библиотечном комитете хотим дело делать а не вот это вот https://github.com/haskell/ecosystem-proposals/pull/7