在Scala中,有没有办法“发现”范围内的所有类型类;或更一般地说,范围内的所有含义?在tick
中,ghci
显示了所有可用的:info Monad
,而Monad
显示了:info Maybe
的所有可用类型类,我想知道是否存在类似的类型阶。
答案 0 :(得分:1)
不,Scala没有这样的东西。有一些编译器选项作为" -Xlog-implicits"如果不适用,则打印更多信息。但没有什么可以列出某些背景下可用的所有含义。
有人可以尝试通过宏来做到这一点,但即使宏api也没有提供直接的方法来做到这一点。可以通过编译器API和隐式搜索访问typer。但是这个API非常复杂。