169 похожих чатов

Привет, продолжаю попытку описать бинарное дерево с АТД, смекнул про

рекурсивные конструкторы, выдал следующий код:

data Node a = ConcreteValue | Node (Node a)
deriving Show

data Bintree a = Bintree (Node a)

someBintree = Bintree ((1, 2), (5, 7))

компилятор говорит следующее:

Couldn't match expected type ‘Node a’
with actual type ‘((a0, b0), (a1, b1))’

Вопросы:
1) Почему он описывает тип одинаковые 4 полиморфных типа разными сигнатурами: ((a0, b0), (a1, b1))
Разве не должно быть: ((a, a), (a, a))?
2) Почему следующая запись конструктора и его применения невалидна в описании типа:
Node Node a, если a уже сконструирован как Node, мне остается лишь пробросить дальше его в его же конструктор ? Т.Е я просто подставил пока заглушку в виде (Node a), чтобы компилятор не ругался.

1 ответов

1 просмотр
Yerbol-Altynbek 🇺🇦 Автор вопроса

Но чет никто не ответил на первый вопрос, почему он выдает такое описание ((a0, b0), (a1, b1))

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
10
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Комрады, подскажите, в дельфях есть компоненты а-ля TDirectorySelect?
Ed Doc
15
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Доброе утро! Не совсем понятно как установить счетчик яндекс метрики на сайт. И потом ещё цели проставить?
Евгения
18
Карта сайта