Я пытаюсь передать параметр GET в функцию и объединить строку из результата
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Data.Monoid ((<>))
import Web.Scotty
f x = x <> x
main = do
scotty 3000 $ do
get "/f/:x" $ do
x <- param "x"
text ("f(" <> x <> ") = " <> f x)
Чтобы сделать мое приложение еще более интересным, я хочу использовать функцию, для которой требуется экземпляр типа аргументаNum, например,
f x = x * x
Как преобразовать / прочитать x
в Num
(или Maybe...
) и преобразовать результат функции обратно в Data.Text.Internal.Lazy.Text
?
Я пытался
text ("f(" <> x <> ") = " <> (show $ f $ read x))
, что приводит к ошибкам:
• Couldn't match expected type
‘text-1.2.3.1:Data.Text.Internal.Lazy.Text’
with actual type ‘[Char]’