Size: a a a

2020 December 10

KV

Kirill Valyavin in Haskell
Jerzy Syrowiecki
а reflection делает принципиально то же самое (только сложнее)?
Там же тоже одно значение в контексте
источник

A

Andrey in Haskell
Andrey
что это?
источник

KV

Kirill Valyavin in Haskell
А, ну да, можно же по-разному его подставить
источник

A

Andrey in Haskell
Jerzy Syrowiecki
а как часто вам нужно больше одного инстанса? особенно при знакомстве
Как упражнения на разные инстансы встречаются — так и становятся нужны.
В остальном всё красиво, а это бросается в глаза.
источник

A

Andrey in Haskell
Точнее, я немного обманул: больше меня разочаровало, что композиция конструкторов типов (* -> *) вводится через отдельный тип, и опять с "обёртками"
источник

AV

Alexander Vershilov in Haskell
reflection круче
источник

AV

Alexander Vershilov in Haskell
Он позволяет динамически создавать инстансы
источник

к

кана in Haskell
а рефлекшн как-то проверяет статически что твое значение подходит под инстанс?
источник

a

adam in Haskell
много буков, главное говорить понятно
источник

AV

Alexander Vershilov in Haskell
кана
а рефлекшн как-то проверяет статически что твое значение подходит под инстанс?
?
источник

к

кана in Haskell
ну рефлекшн проверит, что твое значение, которое ты хочешь запихнуть на место инстанса, валидное и коерсится в инстанс валидно?
источник

a

adam in Haskell
кана
ну рефлекшн проверит, что твое значение, которое ты хочешь запихнуть на место инстанса, валидное и коерсится в инстанс валидно?
да должно, ты же не зря в проксе тип хранишь
источник

a

adam in Haskell
источник

к

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

a

adam in Haskell
нужно разобраться с пайплайном и почему в имплементации reify используется const
источник

к

кана in Haskell
а хм, там нужно инстанс какой-то писать
источник

KV

Kirill Valyavin in Haskell
кана
а хм, там нужно инстанс какой-то писать
Ручная упаковка инстансов в рекорды, да
источник

a

adam in Haskell
кана
а хм, там нужно инстанс какой-то писать
да не читай туда
источник

к

кана in Haskell
я думал там можно сделать буквально так

class X a b where { a :: a, b :: b, c :: a -> b }
data Y a b = Y { a :: a, b :: b, c :: a -> b }

someMagic :: (X a b => r) -> (Y a b -> r)

и чтобы на что-нибудь отличное по структуре от Y уже ругалось

и чтобы больше ничего писать не пришлось, максимум Generic инстанс
источник

к

кана in Haskell
то есть как сделать без ругани я знаю, просто unsafeCoerce
источник