我试图调试一些箭头,这真的很难。我最终在这里和那里坚持trace
,但它确实需要一个Show
实例作为其参数,这限制了它的用途。如果它是Show的一个实例,有什么方法可以show
,如果不是,可以使用某种默认输出值吗?我保证只用于调试; - )
无论如何人们如何调试箭头......
答案 0 :(得分:0)
你最好的选择就是把踪迹写进你的箭头:
strace x = trace (show x) x
something :: (Num c, Show c, Arrow cat) => cat c c
something = arr (+1) <<< arr strace
-- > something 1
-- 1
-- 2