Size: a a a

2021 March 23

IK

Ilya Kos in Haskell
Sooqa
Почему так нельзя?
class A (a :: Either m r)
instance A (Either Int String)
Потому что ты тут говоришь что a это значение типа Either m r
источник

IK

Ilya Kos in Haskell
А там должен быть тип, а не значение
источник

IK

Ilya Kos in Haskell
Это я про строку class
источник

S

Sooqa in Haskell
Ок как сделать чтобы это был тип
источник

S

Sooqa in Haskell
?
источник

IK

Ilya Kos in Haskell
class A a
источник

IK

Ilya Kos in Haskell
Вторая строка должна под такое подойти
источник

S

Sooqa in Haskell
Ilya Kos
class A a
Нет это любой тип
Мне нужно чтобы были только айзеры
источник

IK

Ilya Kos in Haskell
Sooqa
Нет это любой тип
Мне нужно чтобы были только айзеры
В что в теле у этого класса?
источник

S

Sooqa in Haskell
Методы
источник

IK

Ilya Kos in Haskell
Можно сделать так

class A x y where
 foo :: Either x y -> ....
источник

IK

Ilya Kos in Haskell
То есть вынести не тип целиком, а аргументы для Either
источник

S

Sooqa in Haskell
type family RecurseAndCheck a b where
  RecurseAndCheck a (HList '[]) = CSat
  RecurseAndCheck a (HList ((l :: a) : b)) = RecurseAndCheck a (HList b)
  RecurseAndCheck a (HList ((k :: r) : b)) = CNSat
class (forall t (a :: HList t) . RecurseAndCheck (Pair Symbol *) a)
  => Record a

можно это заставить работать?
источник

S

Sooqa in Haskell
type CSat = () :: Constraint
type CNSat = Int ~ Bool
источник

S

Sooqa in Haskell
забыл кусочек
источник

S

Sooqa in Haskell
Sooqa
type family RecurseAndCheck a b where
  RecurseAndCheck a (HList '[]) = CSat
  RecurseAndCheck a (HList ((l :: a) : b)) = RecurseAndCheck a (HList b)
  RecurseAndCheck a (HList ((k :: r) : b)) = CNSat
class (forall t (a :: HList t) . RecurseAndCheck (Pair Symbol *) a)
  => Record a

можно это заставить работать?
Хочу сказать "любой хлист элементы которого принадлежат роду (Symbol, *) это рекорд". Как?
источник

АХ

Алексей Худяков... in Haskell
кана
выкинуть из нее синусы и закинуть for, fromMaybe, ..., АЛЬТЕРНАТИВ
Надо не с грехами бороться, а перерабатывать иерархию типоклассов для чисел
источник

NI

Nick Ivanych in Haskell
Yuuri
Это чтобы ghci как калькулятор удобно было использовать
Херня. В калькулятор сразу закладывается импорт нужных модулей.
Вот когда я работал над своими вычислениями, у меня мои модули сразу импортировались.
источник

Y

Yuuri in Haskell
Nick Ivanych
Херня. В калькулятор сразу закладывается импорт нужных модулей.
Вот когда я работал над своими вычислениями, у меня мои модули сразу импортировались.
Это ирония была же...
источник

Y

Yuuri in Haskell
A64m AL256m qn I0
так эти дадут примерно те же завсисимости что и ленз, ну и чтоб написать не факториал надо будет еще что-то
Зная вас, можно предположить, что это художественное преувеличение
источник