7

無料のプロキシ トランスフォーマーは可能だと思いますか? 何かのようなもの

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
    ....

これは単なる好奇心ではなく、実際に役立つと思います。

4

1 に答える 1

2

これは答えではありませんが、コメントには収まりません。

私も同様の機能が欲しかった。内部型は次のようになると思います。

-- The same `FreeF` type from the `free` package in `Control.Monad.Trans.Free`
data FreeF f a x = Pure a | Free (f x)

newtype FreeP f p a' a b' b m r
    = FreeP { unFreeP ::
        p a'
          (FreeF f a (FreeP f p a' a b' b m r))
          b'
          (FreeF f b (FreeP f p a' a b' b m r))
          m
          (FreeF f r (FreeP f p a' a b' b m r)) }

また、今ある機械では無理かもしれませんが、大丈夫です。たとえば、fromStatePに依存するプロキシ トランスフォーマーを参照してください。を実装するには、と同様のアナログが必要になる場合があります。thread_PProxyInternalthread_PFreeP

于 2013-05-16T18:05:56.743 に答える