men*_*ics 6 haskell introspection typeclass ghci
似乎不可能对函数和数据类型等类型类约束进行内省.然而,ghci似乎做到了.
Prelude> :t show show :: (Show a) => a -> String
所以...不知怎的,它知道类型类约束,因为它打印出来.它是怎么做到的?
gee*_*aur 10
信息保存在接口文件(module.hi)中.要从正在运行的程序中获取它,您需要查找和读取.hi文件(Hackage上的提示包执行此操作,我相信); 由于在编译到字节码的过程中ghci读取.hi文件,因此可以方便地获得该信息.
module.hi
.hi
ghci
你可以看到.hi文件中的内容ghc --show-iface module.hi.
ghc --show-iface module.hi
归档时间:
14 年,10 月 前
查看次数:
249 次
最近记录: