Не удается вызвать функцию, чтобы объединить ее со строкой

#haskell

#haskell

Вопрос:

Эта ошибка не имеет смысла для меня:

     url1 = "https://someUrl.com/"
    url2 = url1    "/fdsfdsfd/fdsgfdgfd"

    No instance for (Num [Char]) arising from a use of ` '
    Possible fix: add an instance declaration for (Num [Char])
  

В чем дело? С точки зрения синтаксиса, все в порядке, не так ли?

Комментарии:

1. Вам нужно использовать ( ) не ( )

2. кто-то отредактировал вопрос, и теперь это не имеет смысла

3. Теперь код в вашем вопросе правильный — он не показывает проблему, с которой вы столкнулись, когда задавали ее.

Ответ №1:

Тип ( ) есть Num a => a -> a -> a , поэтому он принимает два числовых аргумента. Чтобы объединить две строки, вам нужно использовать, ( ) которая имеет тип [a] -> [a] -> [a] . Поскольку строки являются [Char] , это дает вам желаемый результат.