Я довольно новичок в Haskell и Snap, и я работаю через свой собственный проект для небольшого веб-форума, используя оснастку. Проблема, с которой я сталкиваюсь, заключается в понимании конфликта и способах решения для следующего кода.Haskell Snap Framework - Тип несоответствия ByteString/Maybe ByteString
handleCategoryAdd :: H()
handleCategoryAdd = method POST (withLoggedInUser go)
where
go user = do
bs <- getParam "categoryName"
cN <- B.unpack $ Just bs
cD <- getParam "categoryDesc"
cT <- getCurrentTime
return (Db.saveCategory (Db.Category 1 cN cT "1"))
redirect "/"
дает мне ошибку несоответствия типов следующим образом:
src\Site.hs:118:22:
Couldn't match expected type `ByteString'
with actual type `Maybe ByteString'
In the first argument of `unpack', namely `bs'
In a stmt of a 'do' block: cN <- unpack bs
In the expression:
do { bs <- getParam "categoryName";
cN <- unpack bs;
cD <- getParam "categoryDesc";
cT <- getCurrentTime;
.... }
Любые советы, чтобы прояснить путаницу была бы оценена, я искал какой-нибудь способ разворачивать может быть и просто извлечь bytestring, но не увенчались успехом.
Большое спасибо!
ура это помогло! – stickybynature
как бы вы использовали >> = в этом случае ?? – stickybynature