Size: a a a

2021 January 29

ЗП

Зигохистоморфный Пре... in Haskell
как сделать так, что одна тайп фемили должна говорить, что должна быть определена еще одна

типа constraint но для тайп фамили
источник

A

Aleksandr Khristenko in Haskell
А в стеке как-то можно описать один раз часть ключей для ghc и потом переиспользовать их и в конфиге либы и в конфиге исполняемого файла?
источник

ЗП

Зигохистоморфный Пре... in Haskell
Aleksandr Khristenko
А в стеке как-то можно описать один раз часть ключей для ghc и потом переиспользовать их и в конфиге либы и в конфиге исполняемого файла?
в кабал файле можно
источник

A

Aleksandr Khristenko in Haskell
А через package.yaml никак?
источник

AS

Anton Sorokin in Haskell
Зигохистоморфный Препроморфизм
как сделать так, что одна тайп фемили должна говорить, что должна быть определена еще одна

типа constraint но для тайп фамили
class HasY a => HasX a where type X a
источник

ЗП

Зигохистоморфный Пре... in Haskell
ну или через него
источник

ЗП

Зигохистоморфный Пре... in Haskell
Anton Sorokin
class HasY a => HasX a where type X a
и что это?
источник

AS

Anton Sorokin in Haskell
Constraint на тайп фемили. То есть тип, который есть у инстансов класса
источник

A

Aleksandr Khristenko in Haskell
А как? Я просто как-то не нашел как это делать.
источник

ЗП

Зигохистоморфный Пре... in Haskell
Anton Sorokin
Constraint на тайп фемили. То есть тип, который есть у инстансов класса
мне надо такое
data SomeData :: Has (SomeFamily x) => SomeT x
источник

AS

Anton Sorokin in Haskell
Зигохистоморфный Препроморфизм
мне надо такое
data SomeData :: Has (SomeFamily x) => SomeT x
Тут две задачи (как я понял) - constraint на наличие связанной type family (вот тут хз) и ограничение data по constraint-у, тут можно например


class OurConstraint a => HasX a where
 type X a
instance OurConstraint a => HasX a where
 type X a = a


(синтаксис нелепый, да)
источник

AS

Anton Sorokin in Haskell
А, ладно, это так не работает почему то. Странная фигня, пойду репортить
источник

к

кана in Haskell
Anton Sorokin
А, ладно, это так не работает почему то. Странная фигня, пойду репортить
а что тут не работает?
источник

AS

Anton Sorokin in Haskell
кана
а что тут не работает?
IO Int не Eq, а X (IO Int) - это почему то IO Int
источник

к

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

а синтаксис тайп-инстансов внутри тайпкласс-инстансов заставляет думать что это не так, и в итоге многие инстансы невалидны
источник

к

кана in Haskell
этот синтаксис нельзя было впиливать в язык имхо
источник

к

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

ЗП

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

AS

Anton Sorokin in Haskell
источник

AS

Anton Sorokin in Haskell
кана
а, ну вот выше я бомбил, что в хаскеле все таки семейства и тайпклассы это две полностью несвязанные фичи

а синтаксис тайп-инстансов внутри тайпкласс-инстансов заставляет думать что это не так, и в итоге многие инстансы невалидны
Угу, ворнинг хотя бы сделали бы
источник