Size: a a a

2021 February 09

к

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

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

к

кана in Haskell
sequence в данном случае это "такие значения, которые видны из всех окружений в структуре"
источник

к

кана in Haskell
слишком абстрактно конечно
источник

АХ

Алексей Худяков... in Haskell
Такой же аппликатив как зиплист, только ключ не integer, а некий k
источник

к

кана 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" это значение, которое для любого режима будет одинаковым
источник

к

кана in Haskell
то есть я думаю что штука на самом деле достаточно практичная, просто у нас глаз замылился от реальной реализации мапы, и мы считаем ее по дефолту определяющей смысл мапы
источник

MK

Maxim Koltsov in Haskell
всё ещё ничерта не понял, ну ладно
источник

MK

Maxim Koltsov in Haskell
под такое дело можно и ньютай п сделать
источник

YS

Yan Shkurinskiy in Haskell
Maxim Koltsov
всё ещё ничерта не понял, ну ладно
но очень интересно?
источник

MK

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

YS

Yan Shkurinskiy in Haskell
Х(
источник

к

кана in Haskell
Maxim Koltsov
под такое дело можно и ньютай п сделать
ньютайпом не выйдет. Тут нужна или другая реализация мапы, или премапа как выше
источник

к

кана in Haskell
другая реализация мапы поможет и в других вопроса, например как делать бесконечные мапы
источник

MK

Maxim Koltsov in Haskell
бесконечные мапы бизнесу не нужны
источник

к

кана in Haskell
никакой реализации кроме просто
newtype Map k v = Map (k -> Maybe v)
я придумать не могу
источник

YS

Yan Shkurinskiy in Haskell
Maxim Koltsov
бесконечные мапы бизнесу не нужны
А если они свободные?
источник

MK

Maxim Koltsov in Haskell
и иерархические?
источник

к

кана in Haskell
Maxim Koltsov
бесконечные мапы бизнесу не нужны
чуваку из хаскельлерна недавно была нужна, чтобы из файла засунуть все в мапу, но читать из файла только по требованию из мапы, как со списками
источник

YS

Yan Shkurinskiy in Haskell
Maxim Koltsov
и иерархические?
Отож
источник

MK

Maxim Koltsov in Haskell
кана
чуваку из хаскельлерна недавно была нужна, чтобы из файла засунуть все в мапу, но читать из файла только по требованию из мапы, как со списками
ужас какой
источник