Size: a a a

2021 May 17

[

[BRM]White Rabbit in Haskell
Когда я его только импортировал
источник

к

кана in Haskell
могу предположить, что тут пытается задаться семантика, что Either это просто Either, мол или левое или правое значение, и монадный инстанс с сементикой ошибки там оттуда же, откуда в (e -> _) инстанс ридера и в (w, _) инстанс райтера (то есть инстанс есть просто потому что может быть), а вот Except это именно ньютайп для семантики ошибки
источник

DM

Dmitriy Mozhevitin in Haskell
Так казалось бы, все стандартные инстансы для Either реализованы как раз таки с той же семантикой ошибки
источник

к

кана in Haskell
ну так как и для пары, и для функции
источник

DM

Dmitriy Mozhevitin in Haskell
А с overlapping instances при ручной имплементации можно как-то бороться?
источник

DM

Dmitriy Mozhevitin in Haskell
За один из matching instances считается instance [safe] transformers-0.5.6.2:Control.Monad.Trans.Error.Error e
источник

DM

Dmitriy Mozhevitin in Haskell
impot hiding сделать что ли
источник

IK

Ilya Kos in Haskell
Инстансы спрятать нельзя
источник

IK

Ilya Kos in Haskell
Иначе это консистентность бы ломало
источник

IK

Ilya Kos in Haskell
Всегда можно сделать свой newtype и делать с ним что хочешь 🙂
источник

DM

Dmitriy Mozhevitin in Haskell
звучит не очень вкусно :(
но энивей спасибо
источник

YS

Yan Shkurinskiy in Haskell
лично я кажется только с такими невкусностями и живу(
источник

K

Kir in Haskell
instance {-# overlappable #-} Foo попробуй
источник

YS

Yan Shkurinskiy in Haskell
оверлаппинг для тонких перекрытий вообще не пригоден
источник

YS

Yan Shkurinskiy in Haskell
если нет уверенности что "должно быть любым перекрываемо" или "должно любое перекрывать" лучше сразу ньютайп взять
источник

¯

¯\_(ツ)_/¯ in Haskell
не нравится, что надо писать ненужные runGet, из конфига доставать функцию, которая получает сектор и т.п.
наверное, если подумать, то можно написать без этого всего. как-то так:
someFunc = do
 sectorNo <- getWord32le
 count <- getWord32le
 sector <- getSector
 return $ ... sector sectorNo count
источник

JS

Jerzy Syrowiecki in Haskell
да, можно всё в одну монаду спрятать
источник

v

vacuité. in Haskell
Да кто такие эти ваши монады.
источник

DB

Danil Berestov in Haskell
Ну эти, как его!
источник

v

vacuité. in Haskell
Я учу хачкель из-за слова монада.
источник