Size: a a a

2020 December 22

AP

Aleksei (astynax) Pi... in Haskell Start
Точнее так: Ord сравнивает указатели сначала, потом уже содержимое
источник

A

Aragaer in Haskell Start
в питоне сет и словарь требуют, чтобы ключи были хешируемыми и сравнивает по хешам. А списки там не хешируемые
источник

AP

Aleksei (astynax) Pi... in Haskell Start
В Python списки мутабельные
источник

A

Aragaer in Haskell Start
ага
источник

A

Aragaer in Haskell Start
мхм
источник

A

Aragaer in Haskell Start
class Game g where
 . . .

instance Game ([Int],[Int]) where


Illegal instance declaration for ‘Game ([Int], [Int])’
источник

A

Aragaer in Haskell Start
что ему не нравится?
источник

к

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

к

кана in Haskell Start
скинь полную ошибку
источник

A

Aragaer in Haskell Start
    • Illegal instance declaration for ‘Game ([Int], [Int])’
       (All instance types must be of the form (T a1 ... an)
        where a1 ... an are *distinct type variables*,
        and each type variable appears at most once in the instance head.
        Use FlexibleInstances if you want to disable this.)
   • In the instance declaration for ‘Game ([Int], [Int])’
источник

к

кана in Haskell Start
ну вот там решение и написано
источник

A

Aragaer in Haskell Start
type GameState a = ([a],[a])

instance Game (GameState Int) where
источник

к

кана in Haskell Start
Use FlexibleInstances if you want to disable this.
источник

A

Aragaer in Haskell Start
такое тоже не прокатило, ошибка ровно та же
источник

A

Aragaer in Haskell Start
а, не, не та же, теперь про TypeSynonym
источник

A

Aragaer in Haskell Start
а чтобы без экстеншнов как надо?
источник

(

( in Haskell Start
Aragaer
class Game g where
 . . .

instance Game ([Int],[Int]) where


Illegal instance declaration for ‘Game ([Int], [Int])’
а у g кайнд какой?
источник

к

кана in Haskell Start
{-# LANGUAGE FlexibleInstances,  TypeSynonym #-}
источник

A

Aragaer in Haskell Start
по идее должен быть *
источник

к

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

без экстеншена это можно сделать ньютайпом и для него инстанс
источник