IC
какие есть хорошие причины использовать Data.Map вместо Data.Map.Strict ?
Alexander
если данные не форсятся
Alexander
value
Алексей
IC
если данные не форсятся
"чтобы данные не форсились"?
IC
Так... И где бы это могло помочь? Класть по ключам бесконечные списки и ленивое ио?
Cheese
взаимозависимые значения (как электронная таблица)?
Cheese
Могу про спортивное
можешь — делай!
Oleg
можешь — делай!
Ну, в общем Map, IntMap и Array иногда идеально заходят для ДП с мемоизацией, просто пишешь рекурсивную формулу типа let m = fromList $ ... (m ! ...) и всё, а на строгих и анбоксед ломается
Cheese
какой-то странный логотип... https://hsto.org/getpro/habr/post_images/8ac/905/f32/8ac905f32d6903fc5e776604455b6577.png
IC
HDL нового поколения?
Алексей
Шинджи, кончай плакать и полезай в чёртов блокчейн
кана
комплементация человечества блокчейном
IC
это же clash, а не cash
Oleg
HASC
Сергей
Кто знает чем линзы на профункторах, например mezzonlens, лучше кметтовых ?
Cheese
ничем. что действительно лучше — это оптика от Веллтайпед
Cheese
lens, mezzolens: λ> Nothing ^. _Just :: String "" optics: λ> Nothing ^. _Just <interactive>:4:1: error: • No instance for (Is A_Prism A_Getter) arising from a use of ‘^.’
Зигохистоморфный
Cheese
но почему они не публикуют это как библиотеку?
Cheese
т.е. те, что не работают - лучше?
да, они были бы лучше, если бы работали
A64m
не понял, почему да тогда?
Cheese
не понял, почему да тогда?
ну, технически же работают, проблема организационная
A64m
что технически работает? какая проблема организационная? написание инстанса?
Cheese
что технически работает? какая проблема организационная? написание инстанса?
работает ошибка для Nothing ^. _Just. организационная проблема — выложить на Хакадж. о каком инстансе речь?
кана
lens, mezzolens: λ> Nothing ^. _Just :: String "" optics: λ> Nothing ^. _Just <interactive>:4:1: error: • No instance for (Is A_Prism A_Getter) arising from a use of ‘^.’
ну это как map f (1, 2) в каком-то идеальном пуристическом мире это мб и нужно, но как программист, который осознает, что делает ошибки, и которому нужна помощь компилятора, я бы хотел, чтобы первое не компилилось, да
A64m
работает ошибка для Nothing ^. _Just. организационная проблема — выложить на Хакадж. о каком инстансе речь?
надо чтоб код работал, а не ошибка. Об инстансе Is A_Prism A_Getter разумеется
Cheese
тогда уж https://github.com/mrkgnao/silica
а вот это не работает
Cheese
надо чтоб код работал, а не ошибка. Об инстансе Is A_Prism A_Getter разумеется
нет, надо, чтобы правильный код работал, а правильный не работал. иначе вам дорога в JavaScript
A64m
если вместо строки Int например
кана
там mempty берется?
A64m
да
Cheese
так у строки тоже нет дефолтного значения
A64m
есть
Cheese
mempty и дефолт — это из разных вселенных вообще
A64m
иначе нельзя было бы инстанс для моноида написать
Зигохистоморфный
почему тогда не иметь инстанс с Default и все?
A64m
дефолт это беззаконный мемпти
Cheese
иначе нельзя было бы инстанс для моноида написать
моноиду нужен не дефолтный, а нейтральный элемент
A64m
потому что дефолт смысла не имеет, а моноид имеет
Cheese
чего понимать?
что это разные вещи
кана
не ну там все же мемпти не сам по себе
кана
как я понимаю, ^. пытается все результаты сконкатить
A64m
что это разные вещи
дефолт и моноид разные, да
A64m
но вы-то против моноида
Cheese
как я понимаю, ^. пытается все результаты сконкатить
да, это ошибка окружности—эллипса
A64m
это свертка
Cheese
но вы-то против моноида
вы тоже начали с дефолта, а не с моноида
A64m
про класс дефолт не я вспомнил
A64m
зачем его сюда приплели вообще непонятно
A64m
вы выступили против моноида раньше, чем про дефолт вспомнили
Cheese
про класс дефолт не я вспомнил
вы начали с понятия "дефолт", а не класса, не подменяйте понятия
кана
в любом случае - результат вью от призмы не очевиден
кана
очевидно его можно использовать, зная о нем
кана
но нужно ли
Cheese
так оно не компилится когда нету разумного дефолтного значения
вот первое упоминание дефолта, до классов и моноидов
A64m
чем это хуже любого другого использования моноида?
A64m
вот первое упоминание дефолта, до классов и моноидов
"разумного дефолтного значения"
Cheese
чем это хуже любого другого использования моноида?
тем, что у результата view нет моноидных свойств
A64m
чего?
A64m
опять не понял вы не против моноидов вообще, только против инстанса моноида для строк?
Cheese
чего?
результат view не всегда моноид, нельзя требовать от него моноидности
A64m
ну, когда инстанса моноида нет у того что сворачиваешь - оно и не сворачивается, будет ошибка компиляции
A64m
вы за код который не компилируется
Cheese
опять не понял вы не против моноидов вообще, только против инстанса моноида для строк?
моноид для строк не имеет отношения ко чтению из линзы, не надо выбирать себе пугало
A64m
это не чтение из линзы это сворачивание результата призмы
Cheese
вы за код который не компилируется
я за некомпиляцию очевидно неправильного кода