基本 Yesod 世界,您好!给我解析错误

Basic Yesod Hello World! giving me parse error

我开始通过使用 Haskell 和 Yesod 开发 Web 应用程序一书学习 Yesod。安装一些要求后,本书让您做的第一件事是编写 Hello World! 尽管从书中逐字复制了程序,但我遇到了解析错误。作为背景,我没有网络开发经验,我对 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)

我通过删除准引用行中管道之前的空格来加载你的文件(带有警告),所以 [parseRoutes| 而不是 [parseRoutes |[whamlet| 而不是 [whamlet |.