6

lens併用していxml-lensます。Folds次の関数をよりポリモーフィックにして、だけでなくでも機能するようにしたいと思いますTraversals

-- | Traverse a plated structure recursively, trying to match a fold at each level. Don't recurse
-- if the fold matches.
deep :: forall s a. Plated s => Traversal' s a -> Traversal' s a
deep f = let go :: Traversal' s a; go = cloneTraversal $ failing f (plate . go) in go

この関数は、 のdeep関数のように機能しhxtます。私が望む方法でそれをより多態的にすることは可能ですか?

4

1 に答える 1