0

私はこのように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 9Hakyll 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
         ""’

私の機能で何がうまくいかないのか、これを修正する方法を知っていますか?

4

0 に答える 0