Если вы удалите скобки вокруг zip
вызова, ваш код должен работать:
createList :: [Char] -> [Char] -> [(Char,Char)]
createList xs ys = zip xs ys
Объяснение:
Полная ошибка, которую я получаю при запуске zip ([1, 2, 3], [4, 5, 6])
(обратите внимание наparens):
<interactive>:4:5:
Couldn't match expected type ‘[a]’
with actual type ‘([Integer], [Integer])’
Relevant bindings include
it :: [b] -> [(a, b)] (bound at <interactive>:4:1)
In the first argument of ‘zip’, namely ‘([1, 2, 3], [4, 5, 6])’
In the expression: zip ([1, 2, 3], [4, 5, 6])
In an equation for ‘it’: it = zip ([1, 2, 3], [4, 5, 6])
Обратите внимание на часть с надписью In the first argument of ‘zip’, namely ‘([1, 2, 3], [4, 5, 6])’
. Парены интерпретируются как конструктор кортежа . zip
Функция ожидает список в качестве первого аргумента, но мы передаем ему кортеж.