Size: a a a

2017 December 10

к

кана in Haskell Start
почему ансейфно? Он вроде как ожидает, что в конце стека будет IO
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
Только Writer "течёт", если что. Ибо маппендит лениво. Поэтому подходит для не слишком больших задач (для парсинга, наверное, ок). И, возможно, лучше сразу брать Strict Writer.
источник

YS

Yuriy Syrovetskiy in Haskell Start
MonadLogger же
источник

YS

Yuriy Syrovetskiy in Haskell Start
Writer хорош только как иллюстрация в учебнике
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
Если у тебя персер, который разбирает небольшие тексты и не делает слишком уж много бэктрекинга, то Writer'а может хватить вполне
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
MonadLogger либо будет писать в IO (если взять LoggingT), либо придётся всё равно делать где-то свой Writer (или существующий взять)
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
Так что выигрыша в случае работы "без IO" особого не будет - только mtl-style стэк
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
Да и Writer плох по сути только тем, что сбрасывать лог кусками не может (ему просто некуда).
источник

YS

Yuriy Syrovetskiy in Haskell Start
Aleksei (astynax) Pirogov
MonadLogger либо будет писать в IO (если взять LoggingT), либо придётся всё равно делать где-то свой Writer (или существующий взять)
DList, говорят, крут. и завернуть его в Strict State. впрочем, я не бенчмаркал
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
DList может и подойти. Но вокруг него и MonadWriter можно натянуть :)
источник

YS

Yuriy Syrovetskiy in Haskell Start
а если IO, то у MTL выигрыш в том, что IO добавляется снаружи как параметр, а не изнутри как зависимость
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
Тут ты прав :)
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
anyway, вопросы по грамотному логированию в условиях concurrency, это тема для общего чата, ИМХО, а не для учебного
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
Изучающим же полезно поиграться с Writer/WriterT (особенно, если сам его напишешь предварительно)
источник

ZK

Zheka Kozlov in Haskell Start
Тупой вопрос - чем отличается MonadWriter от MonadLogger?
источник

ZK

Zheka Kozlov in Haskell Start
типа MonadLogger более специализированный именно под логирование?
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
Writer что-то пишет. Не обязательно лог - любой Monoid.
источник

ZK

Zheka Kozlov in Haskell Start
MonadWriter более общий?
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
Может накапливать кол-во шагов прасера, например. Либо запоминать какой-то факт - с моноидами First/Last
источник

AP

Aleksei (astynax) Pirogov in Haskell Start
MonadLogger приносит идею именно логирования - log level, текст сообщения, позиция в сорцах
источник