Странная фигня когда я в ghci загружаю свой модуль
elemBool :: Bool -> [Bool] -> Bool
elemBool x [] = False
elemBool x (y:ys)
= (x == Bool y) || elemBool x ys
или даже вызываю :type Bool
Пишет
Not in scope: data constructor `Bool'
Здравствуйте, nikov, Вы писали:
N>Всё верно: Bool — это имя типа, а не имя конструктора. У типа Bool два nullary конструктора: True и False.
Володь, ты сегодня дежурный по хаскелю?
Здравствуйте, nikov, Вы писали:
N>Здравствуйте, Аноним, Вы писали:
А>>Странная фигня когда я в ghci загружаю свой модуль
А>>или даже вызываю :type Bool
А>>Пишет
А>>Not in scope: data constructor `Bool'
N>Всё верно: Bool — это имя типа, а не имя конструктора. У типа Bool два nullary конструктора: True и False.
Странная фигня, взял пример из Haskell The Craft of Functional Programming
Переделал
elemBool :: Bool -> [Bool] -> Bool
elemBool x [] = False
elemBool x (y:ys)
= (x == y) || elemBool x ys
так работает. спасибо.
Здравствуйте, Курилка, Вы писали:
К>Володь, ты сегодня дежурный по хаскелю?
Ну вроде так вышло
Здравствуйте, <Аноним>, Вы писали:
А>Странная фигня, взял пример из Haskell The Craft of Functional Programming
Вопрос в том, а нужно ли вообще из этой книги что-то брать? Мое мнение — уж лучше прочесть какой-нибудь "The Haskell School of Expression", а потом "Real World Haskell", чтобы узнать о популярных библиотеках и расширениях. Для человека, который уже программировать умеет, лучше даже, наверное, начать c "Gentle Introduction", а потом описания расширений из мануала к GHC прочесть.
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll