Size: a a a

2021 June 06

JS

Jerzy Syrowiecki in Haskell
да, в это объяснение я больше верю
источник

MK

Maxim Koltsov in Haskell
Ну а моё первое объяснение говорит почему изначально не так
источник

[

[BRM]White Rabbit in Haskell
3 с половиной?
источник

JS

Jerzy Syrowiecki in Haskell
изначально вообще класс был
источник

MK

Maxim Koltsov in Haskell
Я тогда ещё не жил
источник
2021 June 07

SG

Serge S. Gulin in Haskell
Омг какая там огроменная кроличья норища! Ну не работает по-итогу всё-равно https://trac.macports.org/ticket/57821 😡
источник

SG

Serge S. Gulin in Haskell
но камент красивый ))
источник

MK

Maxim Koltsov in Haskell
Кажется настало время советовать никс
источник

ЖК

Жук Короед in Haskell
Какие есть общепринятые "приёмы"/методы/"лучшие практики" безболезненного написания хорошего, общего, полиморфного кода, с тайпклассами?
(Так, чтобы без больших проблем с UndecidableInstances и AmbiguousTypes, когда приходится на каждую строчку кода две строчки type applications писать)
источник

KV

Kirill Valyavin in Haskell
Есть такая практика: нормально делай, нормально будет
источник

MK

Maxim Koltsov in Haskell
Не использовать тайпклассы
источник

ЗП

Зигохистоморфный Пре... in Haskell
есть такая статья, но тут про энкодинг/декодинг
https://code.slipthrough.net/2018/03/13/thoughts-on-typeclass-codecs/
источник

JS

Jerzy Syrowiecki in Haskell
1. универсальных советов нет

2. UndecidableInstances — обычно плохо, не используйте их. чтобы их не приходилось использовать, оборачивайте в newtype

3. AmbiguousTypes — ничего плохого. если вам мешают собачки, передавайте специальный аргумент-метку, несущий типы, например, Proxy
источник

ЗП

Зигохистоморфный Пре... in Haskell
к первому потом просто коэрсить?
источник

JS

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

AA

A64m AL256m qn<co... in Haskell
> UndecidableInstances — обычно плохо, не используйте их.

ЧЕ?
источник

JS

Jerzy Syrowiecki in Haskell
Чемпионат Европы?
источник

AA

A64m AL256m qn<co... in Haskell
ёвропы
источник

АХ

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

к

кана in Haskell
тайп-апликейшен это просто еще одни аргументы. Если функции в классе требуют две строчки аргументов, то это просто такая функция. Если какие-то аргументы семантически зависят от других аргументов ранее переданных, то это можно явно указать компилятору фандепами или тайп-фемелями
источник