Я пытаюсь ответить на этот вопрос: «Учитывая алгебраический тип данных
data Maybe a = Nothing | Just a
выберите правильное объявление экземпляра, которое показывает, что конструктор типа
Maybe
являетсяMonad
.» (взято отсюда: «DelftX: FP101x Introduction to Functional Programming».То, как я пытаюсь ответить на это, состоит в том, чтобы составить каждый потенциальный ответ по очереди, например, этот:
instance Monad Maybe where return x = Just x Nothing >>= _ = Nothing (Just x ) >>= f = f x
Я не могу его скомпилировать, потому что он уже определен в прелюдии.
HwEx9.hs:16:10: error: Duplicate instance declarations: instance Monad Maybe -- Defined at HwEx9.hs:16:10 instance Monad Maybe -- Defined in `GHC.Base'
Мой вопрос: как я могу его скомпилировать?
Maybe
-подобный тип. - person melpomene   schedule 31.08.2017