Size: a a a

2021 April 11

С

Сергей in Haskell
это кейс для списка где один элемент
источник

I

Igorek536 in Haskell
Понял. Это какой-то паттерн? Подробней можно про эти штуки узнать где-то?
источник

к

кана in Haskell
это паттерн конструктора :

data [a]
 = a : [a]
 | []
источник

С

Сергей in Haskell
lyah
источник

С

Сергей in Haskell
любая новичковая книжка по хаскелю в общем
источник

MK

Maxim Koltsov in Haskell
Это называется pattern matching
источник

AA

A64m AL256m qn<co... in Haskell
это конструкторы алгтд
data [a] = [] | a : [a]
источник

I

Igorek536 in Haskell
Понял, спасибо
источник

AA

A64m AL256m qn<co... in Haskell
вот интересно, почему (:) это спецсинтаксис, а не обычный конструктор-оператор
источник

IK

Ilya Kos in Haskell
: это разве спец синтаксис?
источник

AA

A64m AL256m qn<co... in Haskell
да
источник

IK

Ilya Kos in Haskell
В чем это выражается?
источник

AA

A64m AL256m qn<co... in Haskell
Prelude> import Prelude hiding ((:))
Prelude> data List a = Nil | a : List a

<interactive>:2:21: error: Illegal binding of built-in syntax: :
источник

IK

Ilya Kos in Haskell
А, забавно, не знал
источник

IK

Ilya Kos in Haskell
Возможно это с литералами списков связано?
источник

IK

Ilya Kos in Haskell
Чтобы они однозначно рассахаривались
источник

AA

A64m AL256m qn<co... in Haskell
еще страннее, что hiding ((:)) не вызвало ошибки, но скрывания не произошло
источник

к

кана in Haskell
ну, тогда с OverloadedLists это должно работать все равно
источник

к

кана in Haskell
выглядит как что-то, недофикшенное с приходом :-конструкторов
источник

к

кана in Haskell
а давно они появились?
источник