Я новичок в Haskell, поэтому у меня много вопросов, поэтому мне нужна ваша помощь.
Создайте функцию "func", которая получает функцию "f" (String -> String) типа и String "s", которая возвращает обратную константу "s" с приложением "f" в "s"
Мне удалось сделать функцию "f" такой:
f:: String -> String
f x -> reverse(x) ++ x
console: f "HASKELL" -> "LLEKSAHHASKELL"
Но когда дело доходит до функции "func", я не знаю, что делать или вводитьконсоль.Этот код ниже работал в GHC, но я не знаю почему, он не принимает записи.
func:: (String -> String) -> String -> String
func f s = (reverse(s) ++ f "")
console: func "HASKELL" "ROCKS"
<interactive>:49:6: error:
• Couldn't match expected type ‘String -> String’
with actual type ‘[Char]’
• In the first argument of ‘func’, namely ‘"HASKELL"’
In the expression: func "HASKELL" "ROCKS"
In an equation for ‘it’: it = func "HASKELL" "ROCKS"
Если есть лучший способ сделать это, пожалуйста, не могли бы вы сказать мне?
Спасибо за вашу помощь.