基本的Yesod Hello World!给我解析错误

时间:2016-01-15 22:22:24

标签: haskell yesod parse-error

我开始通过使用Haskell和Yesod开发Web应用程序一书来学习Yesod。在安装了一些要求后,本书首先要做的是写Hello World!尽管从书中逐字复制程序,但我得到一个解析错误。作为一个背景,我没有Web开发的经验,而且我对Haskell的了解几乎包含在了解你的Haskell中,所以我很失落。

以下是上述代码:

-- hello world with Yesod

{-# LANGUAGE TemplateHaskell, TypeFamilies, QuasiQuotes, MultiParamTypeClasses,
    OverloadedStrings #-}

import Yesod

data HelloWorld = HelloWorld

mkYesod "HelloWorld" [parseRoutes |
/ HomeR GET
|]

instance Yesod HelloWorld

getHomeR :: Handler RepHtml
getHomeR = defaultLayout [whamlet | Hello World! |]

main :: IO()
main = warpDebug 3000 HelloWorld

编译器告诉我这个:

C:\Haskell\Yesod>runhaskell helloWorld.hs

helloWorld.hs:11:1:
    parse error (possibly incorrect indentation or mismatched brackets)

1 个答案:

答案 0 :(得分:3)

我通过删除quasiquoter行中管道之前的空格来加载(带警告)文件,因此[parseRoutes|而不是[parseRoutes |[whamlet|而不是[whamlet | }。