在编译时按文件内容初始化函数

wow*_*bob 2 haskell template-haskell

有没有办法初始化函数

someText :: Text
Run Code Online (Sandbox Code Playgroud)

哪个值将存储在编译时可用的文件中?

我以为我可以使用TH,但现在我才发现

embedFile :: FilePath -> Q Exp
runQ :: Quasi m => Q a -> m a
Run Code Online (Sandbox Code Playgroud)

我只能解开QIO:

instance Quasi IO    
instance Quasi Q
Run Code Online (Sandbox Code Playgroud)

我想我需要Quasi的Identity实例,但没有人.

Mat*_*hid 9

不是这个

someText :: Text
someText = $(embedStringFile "path/to/file")
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

(它是TH splice本身Q Exp在运行时变成其他类型.你不应该需要任何类型类实例或任何东西......)