Size: a a a

2020 November 29

AA

A64m AL256m qn<co... in Haskell
мультипараметрические тайпклассы
источник

R

Roman in Haskell
A64m AL256m qn I0
а ну и конечно МПТК за 4, че они будут без фандепов делать с ними - непонятно
Так они и без фандепов весьма полезны. Вообще, фандепы -- говно, так что и правильно сделали, что не включили их
источник

AA

A64m AL256m qn<co... in Haskell
Roman
Так они и без фандепов весьма полезны. Вообще, фандепы -- говно, так что и правильно сделали, что не включили их
весьма полезны шоб ломать вывод типов? затрудняюсь придумать для чего еще
источник

R

Roman in Haskell
A64m AL256m qn I0
интересно еще что комитетчики ненавидят паттерн-синонимы
Вот это странно
источник

к

кана in Haskell
Roman
Так они и без фандепов весьма полезны. Вообще, фандепы -- говно, так что и правильно сделали, что не включили их
class EnumerateWith (i :: Nat) (j :: Nat) (y :: b) | i y -> j
источник

R

Roman in Haskell
кана
class EnumerateWith (i :: Nat) (j :: Nat) (y :: b) | i y -> j
ага, у меня там IncoherentInstances еще. И это все равно было бы лучше с тайпфемелями, они просто не работают там по какой-то всратой причине
источник

к

кана in Haskell
а как такое описать тайпфемелями без фандепов на них?
источник

к

кана in Haskell
а ну вообще можно же да
источник

к

кана in Haskell
но выбирать инстанс по j будет тогда нельзя
источник

R

Roman in Haskell
@A64m_qb0 ну вот у меня один пост про то, как сделать что-то с хорошим выводом типов без фандепов: https://github.com/effectfully/sketches/tree/master/avoid-overlapping-recursive

а вот второй: https://github.com/effectfully/sketches/tree/master/has-lens-done-right
причем в этом решение без фандепов сравнивается с решением с фандепами и слегка выигрывает

фандепы нормально работают только в простейших случаях. Чуть начинаешь делать что-то такое advanced, они разваливаются к херам. В общем, я конечно не против, что они есть, но включать их в стандарт без какой-то нормальной реализации с first-class фандепами (как equality constraints — first-class), я бы тоже не стал
источник

R

Roman in Haskell
кана
но выбирать инстанс по j будет тогда нельзя
я и не выбираю, j там просто для того, чтобы трекать, какой промежуточный индекс является незанятым, это и с тайпфемелями можно
источник

AA

A64m AL256m qn<co... in Haskell
ну это не стандарт
источник

R

Roman in Haskell
а что?
источник

R

Roman in Haskell
(я не следил)
источник

AA

A64m AL256m qn<co... in Haskell
просто сборник прагм, который предполагается ежегодно обновлять
источник

YR

Yuki Rito in Haskell
Roman
Так они и без фандепов весьма полезны. Вообще, фандепы -- говно, так что и правильно сделали, что не включили их
я дико извиняюсь, куда не включили фандепы?
источник

K

Kir in Haskell
Yuki Rito
я дико извиняюсь, куда не включили фандепы?
В GHC2021
источник

K

Kir in Haskell
Переслано от A64m AL256m qn<co...
вроде как 4 комитетчика уже проголосовало, т.е. предварительно известно какие экстеншоны уже не проходят в GHC2021
источник

YR

Yuki Rito in Haskell
фига себе.... Ну и зачем этот Хаскель нужен? С такими приколами?
источник

K

Kir in Haskell
Без BlockArguments это вообще avoid $ success $ at_all costs
источник