gpt4 book ai didi

haskell - 如何在 Haskell 中获取当前模块名称

转载 作者:行者123 更新时间:2023-12-03 15:29:25 24 4
gpt4 key购买 nike

因此,我可以通过使用 'topLevelSomething 来完成此操作并删除 . 之后的最后一个标记,或者我可以使用 moduleName 'something但这会返回一个可能...

有没有更直接的方法来获取当前上下文的模块名称?

所以,给定代码:

module My.Module.Blah where
test = magicHere

那个magicHere 点中发生了什么使得 test = "My.Module.Blah"?

最佳答案

我认为这是一个很好的问题,所以我使用 Template Haskell 找到了答案:

{-# LANGUAGE TemplateHaskell #-}
module A.B.C where

import Language.Haskell.TH
import Language.Haskell.TH.Syntax

e :: String
e = $(fmap loc_module qLocation >>= \mod -> return (LitE (StringL mod) ))

main = print e

关于haskell - 如何在 Haskell 中获取当前模块名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com