Size: a a a

2021 January 09

к

кана in Haskell
Misha Puzanov
тааак

g :: b -> Bool
g _ = False

f :: a -> Set a -> Bool
f x xs = g @a x


Not in scope: type variable ‘a’
   |
217 |     g @a x
   |        ^

постоянно забываю какие там правила, чтобы ему сказать, что буковка х в сигнатуре и буковка х в теле функции значит одно и то же
можно и без форала, просто биндить в паттернах, а не в сигнатуре
источник

к

кана in Haskell
f (x :: a) xs = g @a x
источник

MP

Misha Puzanov in Haskell
кана
f (x :: a) xs = g @a x
а это разве не какое-то очень новое расширение в 9.0 или типа того?
источник

MK

Maxim Koltsov in Haskell
Ну это тоже экстеншен требует
источник

MK

Maxim Koltsov in Haskell
Misha Puzanov
а это разве не какое-то очень новое расширение в 9.0 или типа того?
Новое это биндить тип результата
источник

к

кана in Haskell
Maxim Koltsov
Ну это тоже экстеншен требует
скопед тот же
источник

к

кана in Haskell
Misha Puzanov
а это разве не какое-то очень новое расширение в 9.0 или типа того?
не, это старое
источник

MK

Maxim Koltsov in Haskell
кана
скопед тот же
Да
источник

MP

Misha Puzanov in Haskell
круто, надо будет попробовать
источник

MK

Maxim Koltsov in Haskell
Лучше форолы писать
источник

к

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

MP

Misha Puzanov in Haskell
ну в этом вроде есть смысл, если сигнатуру целиком писать не хочется, она какая-нибудь здоровая и с линзами
источник

MP

Misha Puzanov in Haskell
тогда f x (y :: a) z = кажется удобным
источник

MK

Maxim Koltsov in Haskell
кана
я не соглашусь с этим, не люблю форолы, и вообще не понимаю почему переменные из сигнатуры протекают вниз
Ты это ещё у агды спроси или у кока
источник

MP

Misha Puzanov in Haskell
Misha Puzanov
тогда f x (y :: a) z = кажется удобным
это если можно частично указывать
источник

к

кана in Haskell
там и не протекают же
источник

MK

Maxim Koltsov in Haskell
Бесят окамлисты блин
источник

к

кана in Haskell
переменные в типе это переменные в типе, это отдельный терм

"где забиндился, там и пригодился"
источник

к

кана in Haskell
это в хаскеле какая-то протечка непонятная
источник

MP

Misha Puzanov in Haskell
это эргономика простая мне кажется
тут буква а и тут буква а, в человеческой голове — это значит "одна и та же а"
источник