小编phi*_*chu的帖子

8
推荐指数
2
解决办法
336
查看次数

有免费的代理变压器吗?

你认为可以使用免费代理变压器吗?就像是

data FreePT f p a' a b' b m r = ....

instance (Proxy p,Functor f) => Proxy (FreePT f p) where
    ....

instance (Functor f) => ProxyTrans (FreePT f) where
    ....
Run Code Online (Sandbox Code Playgroud)

这不仅仅是好奇心我实际上会觉得这很有用.

haskell monad-transformers free-monad

7
推荐指数
1
解决办法
367
查看次数

如何一个接一个地遍历数据结构的不同部分?

Control.Lens.Traversalbeside函数遍历的两个部分Bitraversable.给出的例子是

>>> ("hello",["world","!!!"])^..beside id traverse
["hello","world","!!!"]
Run Code Online (Sandbox Code Playgroud)

我可以编写一个更明确的版本beside(让我们称之为bothParts)而不是Bitraversable约束需要两个Traversals吗?我想它可以像这样使用:

>>> ("hello",["world","!!!"])^..bothParts _1 _2 id traverse
["hello","world","!!!"]
Run Code Online (Sandbox Code Playgroud)

这已经存在了吗?这样做是否太安全了?谢谢!

编辑:

或许类似于:

>>> ("hello",["world","!!!"])^..bothParts _1 (_2.traverse)
["hello","world","!!!"]
Run Code Online (Sandbox Code Playgroud)

haskell traversal haskell-lens

5
推荐指数
1
解决办法
245
查看次数