
Александр
01.10.2018
12:23:56

Maxim
01.10.2018
12:24:11
я как раз для qt widgets пытаюсь сделать рефлекс :)

Александр
01.10.2018
12:24:35
О.

Denis
01.10.2018
12:25:01
TEA?
ты украинский не знаешь?

Google

Maxim
01.10.2018
12:25:10
эм, а что?
я понимаю более-менее (я знаю польский)

Denis
01.10.2018
12:25:26
просто Женя описал все в статье

Maxim
01.10.2018
12:25:41
скинь, может попробую разобраться

Denis
01.10.2018
12:26:41

Maxim
01.10.2018
12:26:53
спасибо!
> шматок
?
(простите)

Denis
01.10.2018
12:34:52
вроде да

Maxim
01.10.2018
12:34:55
окей

Dmitry
01.10.2018
12:56:24
на хакадже доков нет :(
Это, конечно, печально. Я разберусь, в чём проблема, и как сделать так, чтобы они билдились автоматически. Тем временем закачал доки на Hackage вручную
https://hackage.haskell.org/package/co-log-0.1.0

Leonid
01.10.2018
12:58:08

Google

Dmitry
01.10.2018
12:58:35

Leonid
01.10.2018
12:58:41
мееееедленно

Dmitry
01.10.2018
12:59:21
мееееедленно
А какая библиотека быстро форматирует время в строку?

Leonid
01.10.2018
12:59:43
https://github.com/Soostone/katip/blob/master/katip/src/Katip/Format/Time.hs вот я это писал. но вроде есть либа. и либа с парсерами
и в аесоне есть для bytestring

Dmitry
01.10.2018
13:03:13
Бенчмарки про это было бы увидеть неплохо ? Я относительно недавно видел твит про бенчмарки разных библиотек времени, но не могу найти сейчас. И вообще не могу найти на Hackage библиотеку, которая предоставляет быстрые функции по работе со временем...

A64m
01.10.2018
13:04:22
вроде thyme быстро работала

Leonid
01.10.2018
13:11:46
бенча форматтера нет, но бенч всего врайтера в фаил ускорился в 4 раза тогда. а врайтер делает куда больше чем пишет время.
может это норм пишет http://hackage.haskell.org/package/formatting-6.3.6/docs/Formatting-Time.html
а thyme вроде тоже через String гоняет

A64m
01.10.2018
13:15:04
вроде, когда форматтинг от сдохшего текст-формата избаился, он потерял какой-то сишный код для форматирования, за счет которого он быстро работал
но это не точно, это могло только плавучки коснуться

Leonid
01.10.2018
13:17:06
надо уже собрать по разным пакетам "стандартных" форматеров времени для текста и байтстрига в отдельный пакет

Yura
01.10.2018
16:46:04
Check out @ulysses4ever’s Tweet: https://twitter.com/ulysses4ever/status/1044929630866681857?s=09
Хм...

Alexander
01.10.2018
17:08:44
это и в правду медленно
с другой стороны нету такой хрени, как с auto-update в fast-logger
когда ты получаешь в логе:
`
00:01 Task finished
00:01 Task started
а там про форматтер

Terminator
01.10.2018
17:42:00
David Sorokin будет жить. Поприветствуем!

Alexander
01.10.2018
17:42:56
\o/

Google

David
01.10.2018
17:43:11
Привет, Александр!

Alexander
01.10.2018
17:43:39
привет!

Kirill
01.10.2018
18:13:56
Про время вродеб https://github.com/andrewthad/chronos#readme была самой шустрой, там и бенчик есть

Alexander
01.10.2018
18:15:19
есть разные вещи про время
получить, сериализовать, вывести в лог
и модификации
в данном кейсе важно получить и вывести в лог

Kirill
01.10.2018
18:18:24
а к чему ты про auto-update относительно fast-logger? К неупорядоченности он отношения особого не имеет
а бенч там про парсинг, да, это мимо

Alexander
01.10.2018
18:22:06
вполне имеет, т.к. у тебя гранулярность в 1 сек
и все с капабилити под одним временем дампается
в итоге при перекидывании треда получается что у тебя не хватает инфы
если бы к каждому сообщению ты добавлял время отправки в лог, то логи были бы не упорядочены по времени, но было бы достаточно информации для упорядочевания
причем у тебя совсем веселый кейс был, а так там и при проще проблемы могут быть

Kirill
01.10.2018
18:29:28
не, ну там потому и fast что какбы разные капабилити сами по себе дампают пачки лога
конечно большая гранулярность дала бы возможность переупорядочивания, но это уже постобработка, хотя с ней лучше чем никак

Alexander
01.10.2018
18:34:45
угу
так для двух капабилитей ты только сказать, что они из одной секунды (но и это не точно)
оптимизация ради всего!
ой, все ради оптимизации

Google

Abbath
01.10.2018
18:47:51
https://www.twitch.tv/ekmett
Кметт стримит

Terminator
01.10.2018
21:12:34
@klntsky будет жить. Поприветствуем!

Abbath
01.10.2018
21:14:58

Alexander
01.10.2018
21:18:44
он же знает final tagless?

Denis
01.10.2018
21:18:53
я ошибся)
Reflection without Remorse

Alexander
01.10.2018
21:19:51
хм.. он же как раз и писал эффективную имплементацию
@chshersh у вас там ночь сейчас глубокая?

Denis
01.10.2018
21:56:26
copy-paste делает Кметт)

Alexander
01.10.2018
21:58:11
это плохо?

Denis
01.10.2018
22:03:04
есть ли что-то готовое по типу? fmap fst &&& fmap snd

Alexander
01.10.2018
22:04:37
fmap bimap?
(не в курсе

Denis
01.10.2018
22:05:04
нет это типа сплиттер
Functor f => f (a, b) -> (f a, f b)

Alexander
01.10.2018
22:05:25
вопрос, а если я делаю let x = readTQueue y то ghc заметит, что я не могу писать в очередь и выдаст исключение?

Ilya
01.10.2018
22:05:32

Denis
01.10.2018
22:05:44
только странно, что он тут
https://hackage.haskell.org/package/base-4.12.0.0/docs/Data-List-NonEmpty.html#v:unzip

Google

Denis
01.10.2018
22:06:40
его же не только для NonEmpty можно использовать

∀
01.10.2018
22:07:27
А если список пустой?
Нельзя.

Denis
01.10.2018
22:07:48
ага

Ilya
01.10.2018
22:08:39

Denis
01.10.2018
22:10:22
не злоупотребляйте вьюпаттернами)
alg (funzip -> (embed -> n, ff)) p = a :< n

Alexander
01.10.2018
22:10:26
как же бесят пакеты которые не дают нормално base пользоваться
Data.List> :i unzip
unzip :: [(a, b)] -> ([a], [b]) -- Defined in ‘GHC.List’

Denis
01.10.2018
22:11:36

Alexander
01.10.2018
22:11:54
ну оно не в NonEmpty

Denis
01.10.2018
22:12:21
в NonEmpty как раз то, что мне надо
короче
zip/unzip должны тоже быть обобщены
а не только для частных случаев

Artem
01.10.2018
22:17:14
https://twitter.com/ulysses4ever/status/1046866417767858176

Ilya
01.10.2018
22:18:12

Denis
01.10.2018
22:18:28