2

I を使用cataすると、AST を結果に折りたたむことができます。ASTにCofree追加の注釈を格納できます。AST を取得して、各ステップの結果を含む注釈付き AST を返すにはどうすればよいですか?

alg :: Term Result -> Result
alg = undefined

run :: Fix Term -> Result
run ast = cata alg ast

run' :: Fix Term -> Cofree Term Result
run' = ???
4

2 に答える 2