Size: a a a

2021 February 09

к

кана in Haskell
Maxim Koltsov
ужас какой
удобно говорить "ужас", когда это опровергает позицию)
источник

MK

Maxim Koltsov in Haskell
да
источник

MK

Maxim Koltsov in Haskell
не спорю
источник

к

кана in Haskell
а кейс вполне нормальный, если в целом ленивое IO считать нормальным
источник

MK

Maxim Koltsov in Haskell
ты что думал я с тобой буду нормально дискутировать?)
источник

MK

Maxim Koltsov in Haskell
кана
а кейс вполне нормальный, если в целом ленивое IO считать нормальным
вот именно
источник

MK

Maxim Koltsov in Haskell
я не считаю
источник

IR

IC Rainbow in Haskell
кана
предположим у нас

data Mode = Dev | Prod | Test

data Config a = Config
 { key_1 :: a
 , key_2 :: a
 }

traverse :: (a -> Map Mode b) -> Config a -> Map Mode (Config b)

получаем конфиги от режима, но только в том случае, если все ключи прописаны для этого режима

а "pure x" это значение, которое для любого режима будет одинаковым
о, это же distributive/representable опять.
и тоже для апликатива..
источник
2021 February 10

MK

Maxim Koltsov in Haskell
ещё больше математики!
источник

IR

IC Rainbow in Haskell
deriving via Math

  deriving stock (Show, Functor, Foldable, Traversable, Generic, Generic1)
 deriving Applicative via (Co Collection)
 deriving anyclass (Representable)

instance Distributive Collection where
 collect = genericCollect
источник

к

кана in Haskell
кана
что такое Map k, если думать о нем как об эффекте? Это по сути множественный ридер, где указано много разных вариантов окружения, и в зависимости от разного окружения может быть разное значение, но окружения может и не быть

тогда pure это действительно "независимость значения от окружения"
а combine : (f a, f b) -> f (a, b) это "есть зависимость в двух эффектах"
так получается, что Map k это MaybeT (Reader k), для которого уже все нужные инстансы определены, и определены именно так как нужно
источник

ЗП

Зигохистоморфный Пре... in Haskell
источник

к

кана in Haskell
так а нужен не траверс, а аппликатив, чтобы другую структуру траверсить
источник

ЗП

Зигохистоморфный Пре... in Haskell
источник

[

[BRM]White Rabbit in Haskell
а я же правильно понимаю, конкатенация стринг в хаскеле не стоит почти нихера? С учётом того, что это список чаров.
источник

TZ

Timofey Zakrevskiy in Haskell
Она стоит длину первой строки (если речь о String)
источник

MK

Maxim Koltsov in Haskell
Не стоит почти ничего добавление нового чара в начало
источник

[

[BRM]White Rabbit in Haskell
так а в смысле?
Берёшь и переписываешь пару адресов, вот тебе новая "строка".
Или там типа создаётся новая строка, а потому сначала надо скопировать исходные?
источник

MK

Maxim Koltsov in Haskell
В смысле перерисываешь
источник

MK

Maxim Koltsov in Haskell
Сначала конец найти надо
источник