Size: a a a

2021 April 12

к

кана in Haskell
тип List a
источник

к

кана in Haskell
я определил индуктивный тип List a, конструкторы которого это или Nil, или пара из a и List a (то есть другого списка, определенного этими же конструкторами)
источник

UT

Unknown T. in Haskell
Это я понимаю.
Это получается обычный плоский список
У меня же вложенный
[1, [2, [3, [4, ]]]] а не [1,2,3,4…]
источник

к

кана in Haskell
окей, давай иначе, забудь про этот сахар

ты сказал, что в идеальном твоем списке может быть только запись [x, [y, ...]]

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

к

кана in Haskell
то есть список это или []
или если x - элемент, а xs - список, то [x, xs] - тоже список
источник

к

кана in Haskell
(нет никакой разницы между плоским списком, и вложенным списком, где вложенность может быть только в хвосте)
источник

к

кана in Haskell
так и определяем

пустой список назовем Nil
пару из элемента и вложенного списка назовем Cons

data MyNestedList a
 = Nil
 | Cons a (MyNestedList a)
источник

UT

Unknown T. in Haskell
Вот этот момент не понятен
[1, [2,3]] это же не одно и то же, что [1,2,3]
источник

к

кана in Haskell
так [2,3] не подходит же под твой идеальный список
источник

к

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

UT

Unknown T. in Haskell
[1,[2,[3]]] vs [1,2,3]
источник

UT

Unknown T. in Haskell
Да
источник

UT

Unknown T. in Haskell
вот так
источник

к

кана in Haskell
вот, если вторым элементом может быть ТОЛЬКО список, а больше элементов быть не может, то да [1, 2, 3] и твой [1, [2, [3]]] это одно и то же
источник

к

кана in Haskell
просто переименуй [x, y] в Cons x y
получишь
Cons 1 (Cons 2 (Cons 3 Nil))
источник

к

кана in Haskell
[1, 2, 3] это на самом деле и не плоский список, это и есть множество вложенных списков
источник

к

кана in Haskell
плоский список выглядел бы как-то так

data List a
 = []
 | [a]
 | [a, a]
 | [a, a, a]
 | ..... бесконечно
источник

к

кана in Haskell
а в хаскеле если
x = [1, 2, 3]
то мы можем сделать 0 : [1, 2, 3], где : это как раз твоя пара из первого элемента и вложенного подсписка

data [a] = [] | a : [a]

или если бы можно было бы иметь такой синтаксис, то

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

UT

Unknown T. in Haskell
окей, я согласен, понял, что вы имеете в виду.
Тогда я не понимаю суть учебного задания “определите функцию приводящую список [1, 2, 3] к виду [1, [2, [3]]]”
источник

к

кана in Haskell
ты из украины? Или учебное заведение украинское?
источник