Size: a a a

2020 May 09

AV

Alexander Vershilov in Haskell
Не знаю
источник

к

кана in Haskell
возможно в классах/инстансах не работает
источник

AV

Alexander Vershilov in Haskell
Была разница, но сходу не скажу
источник

к

кана in Haskell
кана
хм, так type X a = (Y a, Z a) прекрасно работает с ConstraintKinds, зачем нужно делать класс?
это позволит делать локальные для модуля алиасы, где у всех функции одни и те же эффекты, и существанная проблема от бойлерплейтов эффектов отпадает, написать один алиас на модуль не проблема
источник

R

Roman in Haskell
кана
хм, так type X a = (Y a, Z a) прекрасно работает с ConstraintKinds, зачем нужно делать класс?
такой X нельзя частично применить
источник

AV

Alexander Vershilov in Haskell
а как посмотреть версии используемых зависимостей в new-build yе делая фриз?
источник

R

Roman in Haskell
у меня только недавно был код, где было это надо (но я его отрефакторил и больше там не надо)
источник

A

Antonio in Haskell
Alexander Vershilov
а как посмотреть версии используемых зависимостей в new-build yе делая фриз?
cabal-plan поставь
источник

AV

Alexander Vershilov in Haskell
не хочу ничего ставить
источник

A

Antonio in Haskell
ставь. оно полезное
источник

R

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

MK

Maxim Koltsov in Haskell
Alexander Vershilov
Тебе приходится всё рефакторить когда добавляешь эффект!
Ну, да
источник

AV

Alexander Vershilov in Haskell
Вот это одна из причин почему mtl-style протекает
источник

AV

Alexander Vershilov in Haskell
по утверждению статьи
источник

MK

Maxim Koltsov in Haskell
У меня асинки гоняются
источник

R

Roman in Haskell
Alexander Vershilov
Вот это одна из причин почему mtl-style протекает
и это спорное (потому что можно определить алиасы), но валидное утверждение. Но вот говорить, что фримонадки — это единственное решение — это неверное утверждение. В моем ответе я как раз и показал, как написать эквивалентный фримонадочному код, только с меньшим количество бойлерплейта (и скорее всего он еще и быстрее, потому что нет промеужточного представления)
источник

MK

Maxim Koltsov in Haskell
Для этого есть MonadTaskRunner, параметризованный типом таски
источник

MK

Maxim Koltsov in Haskell
В каждой ручке свой констрейнт
источник

MK

Maxim Koltsov in Haskell
И они друг про друга не знают
источник

MK

Maxim Koltsov in Haskell
Мне кажется удобно
источник