我仍在尝试了解箭头符号和 Haskell 中定义的箭头类型类的语义之间的相似之处。特别是,这个问题似乎有一个用箭头符号写的小计数器的非常规范的例子:
counter :: ArrowCircuit a => a Bool Int
counter = proc reset -> do
rec output <- returnA -< if reset then 0 else next
next <- delay 0 -< output+1
returnA -< output
有人可以告诉我如何在没有箭头符号的情况下将其转换回 Haskell2010 吗?