我正在尝试使用 Hint ( Language.Haskell.Interpreter )在运行时编译Polysemy monad 值 )。
当我尝试这样做时,我确实得到了一个关于:在“交互式”代码中不正确使用运算符的错误;似乎传递给 GHC 的文本提示存在语法错误。
{-# LANGUAGE DataKinds #-}
module Main where
import Polysemy (Embed, embed, runM, Sem)
import Language.Haskell.Interpreter (as, interpret, Interpreter, runInterpreter, setImportsQ)
import Data.Typeable (typeOf)
import Control.Monad.IO.Class (liftIO)
main :: IO ()
main = do
-- Hint works fine to interpret a String:
m <- interpretWithErrors exampleHint
print m
-- And Sem works fine:
runM exampleSem
-- But notice the weird detected type:
print $ typeOf exampleSem …Run Code Online (Sandbox Code Playgroud)