Html 哈斯凯尔/哈姆雷特的问题
我是haskell的初学者,我正在尝试使用hamlet,但是我没有掌握正确的语法。当我使用此代码时:Html 哈斯凯尔/哈姆雷特的问题,html,haskell,functional-programming,hamlet,Html,Haskell,Functional Programming,Hamlet,我是haskell的初学者,我正在尝试使用hamlet,但是我没有掌握正确的语法。当我使用此代码时: {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} module Handler.Index where
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
module Handler.Index where
import Import
import Network.HTTP.Types.Status
import Database.Persist.Postgresql
getIndexR :: Handler Html
getIndexR = defaultLayout $ do
addStylesheet $ StaticR bootstrap_css
[hamlet|
$doctype 5
<html>
<head>
<body>
|]
[cassius|
.classe
background: red;
|]
{-#语言无mplicitprelude}
{-#语言重载字符串}
{-#语言模板haskell}
{-#语言MultiParamTypeClasses}
{-#语言类型族{-}
模块处理程序。索引在哪里
进口
导入Network.HTTP.Types.Status
导入Database.Persist.Postgresql
getIndexR::Handler Html
getIndexR=defaultLayout$do
addStylesheet$StaticR引导\u css
[哈姆雷特|
$doctype 5
|]
[卡修斯|
classe先生
背景:红色;
|]
我得到这个错误:
romefeller:~/workspace/yesodvazio (master) $ stack build && stack exec
aulahaskell
aulahaskell-0.0.0: build (lib + exe)
Preprocessing library aulahaskell-0.0.0...
[8 of 9] Compiling Handler.Index ( src/Handler/Index.hs, .stack-
work/dist/x86_64-linux/Cabal-1.24.2.0/build/Handler/Index.o )
/home/ubuntu/workspace/yesodvazio/src/Handler/Index.hs:18:17: error: parse
error on input ‘<’
-- While building package aulahaskell-0.0.0 using:
/home/ubuntu/.stack/setup-exe-cache/x86_64-linux/Cabal-
simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2 --builddir=.stack-work/dist/x86_64-
linux/Cabal-1.24.2.0 build lib:aulahaskell exe:aulahaskell --ghc-options " -
ddump-hi -ddump-to-file"
Process exited with code: ExitFailure 1
romefeller:~/workspace/yesodvazio(master)$stack build和&stack exec
奥拉哈斯克尔
aulahaskell-0.0.0:生成(lib+exe)
预处理库aulahaskell-0.0.0。。。
[8/9]编译Handler.Index(src/Handler/Index.hs,.stack-
work/dist/x86_64-linux/Cabal-1.24.2.0/build/Handler/Index.o)
/home/ubuntu/workspace/yesodvazio/src/Handler/Index.hs:18:17:错误:parse
输入“时出错您需要启用:
{-# LANGUAGE QuasiQuotes #-}
GHC不使用TemplateHaskell
或其他方法来解析[hamlet |…|]
子句,就像它是列表理解的开始一样,如下所示:
[ hamlet | hamlet <- ["alas", "poor", "yorick"] ]
^^^^^^^^^^ -- GHC thinks you're starting to write this
-- and can't parse the rest.
[hamlet | hamlet您需要启用:
{-# LANGUAGE QuasiQuotes #-}
GHC不使用TemplateHaskell
或其他方法来解析[hamlet |…|]
子句,就像它是列表理解的开始一样,如下所示:
[ hamlet | hamlet <- ["alas", "poor", "yorick"] ]
^^^^^^^^^^ -- GHC thinks you're starting to write this
-- and can't parse the rest.
[哈姆雷特|哈姆雷特谢谢你的回答,但是现在我在$doctype 5行:/home/ubuntu/workspace/yesodvazio/src/Handler/Index.hs:16:9:error:parse error on input'$'上遇到了一个错误。也许你打算使用TemplateHaskellI删除了TemplateHaskell并添加了quasikotes行,就像你说的那样,然后出现了“[hamlet |”和“[cassius |”行出现错误,因为我忘了在|之间使用空格,在这之后,我在上面粘贴的错误显示了不,不要在
之前添加空格。我在示例中只显示空格,以向您显示Haskell将其解析为列表理解(通常使用空格编写).删除您的共享空间--它必须以[hamlet |…
。
后面的空格很好,但不是在前面。是的,所以你的问题解决了,你还有其他问题:一方面,你没有定义引导\u css
。堆栈溢出不是代码调试或代码编写服务,所以我认为没有人愿意进行扩展对话在注释中,帮助您修复代码中的所有错误。现在您有了一个与旧问题无关的新问题,我建议您提交一个新问题,并用一个准确的答案演示新的错误消息。感谢您的回答,但现在我发现$doctype 5行有一个错误:/home/ubuntu/workspace/yesodvazio/src/Handler/Index.hs:16:9:error:parse error on input“$”可能您打算使用TemplateHaskellI删除了TemplateHaskellI并添加了Quasikotes行,正如您所说,然后在“[hamlet |”和“[cassius |”处出现了一个错误行,因为我忘记了在|之间使用空格,在这之后,我在上面粘贴的错误显示为No,不要在|
之前添加空格。在我的示例中,我只显示空格是为了向您显示Haskell将其解析为列表理解(通常使用空格编写)。删除您的空格--它必须以开头[hamlet |…
。
后面的空格很好,但不是在前面。是的,所以你的问题解决了,你还有其他问题:一方面,你没有定义引导\u css
。堆栈溢出不是代码调试或代码编写服务,所以我认为没有人愿意进行扩展对话在注释中,帮助您修复代码中的所有错误。现在您有了一个与旧问题无关的新问题,我建议您提交一个新问题,并提供一个准确的示例来演示新的错误消息。