Yeson.json.object применяется к слишком многим аргументам
import Yesod
import Data.Text
data App = App
instance Yesod App
mkYesod "App" [parseRoutes|
/ Home GET
|]
getHome :: String -> Handler Value
getHome = object ["name" .= ("Adam"::Text)]
main = warpDebug 2012 App
выдает ошибку как,
Couldn't match expected type ‘String -> Handler Value’
with actual type ‘Value’
Possible cause: ‘object’ is applied to too many arguments
In the expression: object ["name" .= ("Adam" :: Text)]
In an equation for ‘getHome’:
getHome = object ["name" .= ("Adam" :: Text)]
object
не входит в сферу применения в прелюдии. Какой пакет / модуль определяет это? Почему он не принимает пару ключ-значение в приведенном выше случае?
1 ответ
Решение
object
не входит в сферу применения в прелюдии. Какой пакет / модуль определяет это?
Почему он не принимает пару ключ-значение в приведенном выше случае?
Это берет пару ключ-значение просто отлично. Сообщение об ошибке говорит вам, что object
дает вам Value
, но вы объявили getHome
быть типом String -> Handler Value
не Value
,
"Возможная причина" в данном случае кажется просто вводящей в заблуждение.