假设我在My.Module模块中定义了一个类型MyType。我想要得到字符串“My.Module.MyType”(或类似的内容)。如果我直接输入字符串,可能会出现拼写错误,如果模块或类型名称更改,我希望在编译时知道。
啊,看起来可能有人对我的问题产生了困惑。请仔细查看问题。给定代码:
module My.Module
type MyType = Int
data MyType2 = MyConstructor2 Int
main = do
putStrLn $ theMagic MyType
putStrLn $ theMagic MyType2
我需要的输出是:
My.Module.MyType
My.Module.MyType2
我需要的是类型名称,而不是类型定义。typeOf会输出Int等内容,这并不是我想要的。