Size: a a a

2020 November 09

Y

Yuuri in Haskell
Maxim Koltsov
Опять ты со своим окамлом везде оверхед видишь)
Скорее, сиплюсплюсом >_<
источник

Y

Yuuri in Haskell
Kirill Valyavin
Тоже моноид, см. пакет monoidal-containers
О, спасибо
источник

KV

Kirill Valyavin in Haskell
Yuuri
> Вы пишете на хаскеле, это уже оверхед.
Но это же не повод дальше ударяться во все тяжкие %)
Если правильно сделать, то оверхеда не должно быть, но тем не менее, сначала лучше сделать неправильно и посмотреть чё будет
источник

KV

Kirill Valyavin in Haskell
Недавно где-то был пост про моноидальную свёртку контейнеров-синглтонов, что она типа тормозит ужасно, по-моему там это решалось йонедой
источник

KV

Kirill Valyavin in Haskell
Но перед тем как кидаться всё перефигачивать на эндоморфизмы надо конечно сначала ПОДУМОТЬ
источник

AV

Alexander Vershilov in Haskell
/me вспомнил hashmap и O(N) union
источник

AV

Alexander Vershilov in Haskell
В паталогических случаях
источник

Y

Yuuri in Haskell
Тем не менее, хотелось бы просто что-то вроде
data SingleWriter w m a
singleTell :: Elem w -> SingleWriter w m ()
источник

AV

Alexander Vershilov in Haskell
напиши tell' = tell . (:[])
источник

Y

Yuuri in Haskell
Зачем вообще моноид, если теллятся вообще почти всегда синглтоны!
источник

KV

Kirill Valyavin in Haskell
Yuuri
Зачем вообще моноид, если теллятся вообще почти всегда синглтоны!
А что изменится-то если операцию для синглотонов добавить?
источник

AV

Alexander Vershilov in Haskell
Или собирай в Endo. Или адденд
источник

AV

Alexander Vershilov in Haskell
В смысле Writer (single -> Foo single)
источник

KV

Kirill Valyavin in Haskell
Ещё дурацкий совет есть, добавьте в Ваш стек IO и отправляйте в очередь, а в отдельном потоке сразу пишите куда надо
источник

Y

Yuuri in Haskell
Kirill Valyavin
А что изменится-то если операцию для синглотонов добавить?
Например, в список элемент можно будет добавлять в начало, и в конце один раз переворачивать
источник

Y

Yuuri in Haskell
Kirill Valyavin
Ещё дурацкий совет есть, добавьте в Ваш стек IO и отправляйте в очередь, а в отдельном потоке сразу пишите куда надо
Ну уж нет :)
источник

KV

Kirill Valyavin in Haskell
Yuuri
Например, в список элемент можно будет добавлять в начало, и в конце один раз переворачивать
Это решается заворачиванием в Endo или использованием подходящей структуры данных
источник

AV

Alexander Vershilov in Haskell
Мне кажется и без IO можно
источник

KV

Kirill Valyavin in Haskell
А, нет, Endo не поможет
источник

AV

Alexander Vershilov in Haskell
Надо будет проверить догадку
источник