Я новичок в Haskell, и я не совсем понимаю эту ошибку, когда я загружаю файловые объятия, выводит следующее «Синтаксическая ошибка в объявлении (неожиданный `;', возможно, из-за плохой компоновки)» в строке «проверить s1 s2 ((x,y):xs)". Я нахожу это запутанным, так как нет ";" в коде. Если кто-то может объяснить, почему это происходит и как я могу это исправить, я был бы очень благодарен. Ниже мой код.
type Owned = String
type Owner = String
type Fact = (Owned,Owner)
database = [(String, String)]
database = [("c4","c5"),("c1","c2"), ("c2", "c3"), ("c3","c4")]
owns :: Owner -> Owned -> Bool
owns s1 s2
| check s1 s2 database = true
| otherwise false
check s1 s2 ((x,y):xs)
| s1==x && y==s2 = true
| s1==x && y==s2 = (check y s2 database)
| otherwise false