isPalindrome::(Eq a) => [a] -> Bool
isPalindrome [] = True
isPalindrome [x] = True
isPalindrome (x1:xs:x2:[])
| x1 == x2 = isPalindrome xs
|otherwise = False
[1 of 1] Compiling Main ( myHas.hs, interpreted )
myHas.hs:37:27:
Couldn't match expected type `[a]' against inferred type `a1'
`a1' is a rigid type variable bound by
the type signature for `isPalindrome' at myHas.hs:33:18
In the first argument of `isPalindrome', namely `xs'
In the expression: isPalindrome xs
In the definition of `isPalindrome':
isPalindrome (x1 : xs : x2 : [])
| x1 == x2 = isPalindrome xs
| otherwise = False
Я начинающий программист haskell и не знаю, почему я получаю эту ошибку, любую помощь, пожалуйста?
-121--1726202-Я хочу знать, какой из этих двух вариантов является более безопасным:
#define MAXLEN 255
char buff[MAXLEN + 1]
sprintf (buff, «%. * s», MAXLEN, name)
snprintf (buff, MAXLEN, «% s», name)
Я понимаю, что оба варианта одинаковы. Пожалуйста, предложите.