我正在使用app架构和haskell中的免费monad。我把它搞定了,除了如何解除我的指令"进入我的副产品的正确插槽,而没有明确给出完整的左/右路径。
以下是我一直在工作的haskell示例:https://gist.github.com/aaronlevin/87465696ba6c554bc72b#file-reasonable-hs
在这里,为了将类型注入到副产品中,我们明确提到了路径。
例如:
Program :: Coproduct Interaction (Coproduct Auth Logging) a
logC :: (Functor f) => (forall a. Logging a -> f a) -> String -> Free f ()
logger :: String -> Free Program ()
logger = logC (Program . Coproduct . Right . Coproduct . Right)
此处,必须使用Coproduct . Right . Coproduct . Right
简而言之,我想知道在哈斯克尔是否有办法做到这一点。
答案 0 :(得分:1)