私はこのようにHakyllでコンテキスト定義を書きました:
import qualified Data.Map as M
....
mathCtx :: Context String
mathCtx = field "mathjax" $ \item -> do
metadata <- getMetadata $ itemIdentifier item
return $ if "mathjax" `M.member` (metadata)
then "<script type=\"text/javascr ... script>"
else ""
Debian 9
、Hakyll 4.9.2.0
およびに移行するまではうまくいきましたGHC 8.0.1
。さて、コンパイル時に次のエラーメッセージが表示されます。
• Couldn't match type ‘unordered-containers-0.2.7.1:Data.HashMap.Base.HashMap
text-1.2.2.1:Data.Text.Internal.Text
aeson-0.11.2.1:Data.Aeson.Types.Internal.Value’
with ‘M.Map [Char] a0’
Expected type: M.Map [Char] a0
Actual type: Metadata
• In the second argument of ‘M.member’, namely ‘(metadata)’
In the expression: "mathjax" `M.member` (metadata)
In the second argument of ‘($)’, namely
‘if "mathjax" `M.member` (metadata) then
"<script type=\"text/javascr ... script>"
else
""’
私の機能で何がうまくいかないのか、これを修正する方法を知っていますか?