Я создал тип «Контакт» и пытаюсь создать функцию, которая принимает 4 параметра (имя, фамилия, телефон и штат), создает контакт и добавляет его в список существующих контактов.
type LastName = String
type FirstName = String
type Phone = String
type Contact = (Person, State)
data Person = Person Phone Name deriving (Show, Read)
type Name = (FirstName, LastName)
data State = Good | Bad
addContact :: Phone -> FirstName -> LastName -> State -> [Contact] -> [Contact]
addContact c p n s [] = Contact (Person c (p,n) ,s) : []
addContact c p n xs = Contact (Person c (p,n) , s) : xs
Кажется, я не могу найти решение для LYAH или SOF, я точно следую тому, что говорится в этом разделе, особенно в разделе о форме: http://learnyouahaskell.com/making-our-own-types-and-typeclasses#record-syntax, но я получаю следующее ошибка компиляции:
• Data constructor not in scope:
Contact :: (Person, [Char]) -> Contact
Я попытался изменить верхний регистр на нижний регистр для типа, но все равно получил ошибку компиляции неопределенной переменной.
Есть ли что-то, что мне здесь не хватает?