Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何调试类型级代码?_Scala_Shapeless_Type Level Computation - Fatal编程技术网

Scala 如何调试类型级代码?

Scala 如何调试类型级代码?,scala,shapeless,type-level-computation,Scala,Shapeless,Type Level Computation,大多数情况下,您得到的只是一个隐式的未找到错误。你不知道它在隐式构造链中的什么地方失败了。显然,您不能使用运行时调试或打印语句。那么,除了非常努力地盯着代码看之外,如何调试类型级程序呢 我希望我有一个更好的答案,但现在是这样的:开始显式地传递参数,一次传递一个,直到它给出一个更有用的错误。(为其参数添加prinlns等效项)您可以对未定义的代码部分使用?(因为它的底部类型无任何内容),对未知类型使用。另请参见-Ytyper debug编译器选项(此处有更多选项:)。根据隐式参数和包装的问题,“I

大多数情况下,您得到的只是一个隐式的未找到错误。你不知道它在隐式构造链中的什么地方失败了。显然,您不能使用运行时调试或打印语句。那么,除了非常努力地盯着代码看之外,如何调试类型级程序呢

我希望我有一个更好的答案,但现在是这样的:开始显式地传递参数,一次传递一个,直到它给出一个更有用的错误。(为其参数添加prinlns等效项)

您可以对未定义的代码部分使用
(因为它的底部类型
无任何内容
),对未知类型使用
。另请参见
-Ytyper debug
编译器选项(此处有更多选项:)。根据隐式参数和包装的问题,“Idea”有很好的功能“显示隐式提示”和“隐式参数”(
主菜单>帮助>查找操作…
并键入例如隐式)。此外,您还可以使用
Null
底部类型实例
Null
来处理任何引用,如
Null:YourTypeHere

EPFL、Typesafe,Scala团队目前有多个研究职位可以回答这个确切的问题。或者,换句话说:这个问题的答案值得一个博士学位。