Ошибка типа при реализации деревьев пальцев

Я хотел поиграть с деревьями на 2-3 пальца, как описано в статье (Haskell) Хинце (см. Также этот блог ).Теперь я просто не могу заставить работать функцию ---- +: = 1 =: + ---- , она жалуется на несоответствие типов:Ожидается FingerTree , но дано FingerTree>.Результирующий тип будет бесконечным при объединении '' a 'и' Node ' FingerTree.У меня была эта ошибка раньше в ---- +: = 3 =: + ----, но я смог решить ее, добавив полную информацию о типе функции.Для ---- +: = 5 =: + ---- этого, похоже, недостаточно, поэтому я также попытался добавить типы в середине функции (см. Комментарии).Это не сработало.Я как бы понимаю ошибку и откуда она взялась.Кто-нибудь может сказать мне, как заставить это работать?IMHO, это должно быть возможно, потому что иначе ---- +: = 6 =: + ---- тоже не компилируется.Может быть , уловка , как это помогает?(Хотя не понимаю).PS: Я также поместил код на FsSnip для игры в браузере.
7 голосов | спросил primfaktor 4 +03002016-10-04T16:55:57+03:00312016bEurope/MoscowTue, 04 Oct 2016 16:55:57 +0300 2016, 16:55:57

0 ответов


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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132