(按标题道歉,我不能做得更好)
我的问题是找到一些通用结构或“标准”函数来执行下一件事:
xmap :: (a -> b) -> f a -> g b
然后,我们不仅可以映射元素,还可以映射整个结构。
一些(不是真实的)例子
xmap id myBinaryTree :: [a]
目前,我必须做一个显式结构转换器(典型的fromList
,toList
)然后
toList . fmap id -- if source struct has map
fmap id . fromList -- if destination struct has map
(执行toStruct
,fromStruct
我使用fold
)。
存在某种泛化to
/from
结构的方法吗?(应该)存在那个函数(xmap
)?
谢谢!!:)