我在使用的Haxl庫中遇到過使用:>>=
的問題。我不確定這與>>=
運營商有什麼不同?數據類型中的單調操作?
例如:
data MyType a = MyType a :>>= (a -> Int)
正是在此操作中MyType
幹什麼?
這是它的上下文的使用Haxl:
newtype GenHaxl u a = GenHaxl { unHaxl :: Env u -> IORef (RequestStore u) -> IO (Result u a) } --|| u is the env, a is the result
data Result u a
= Done a
| Throw SomeException
| Blocked (Cont u a)
data Cont u a
= Cont (GenHaxl u a)
| forall b. Cont u b :>>= (b -> GenHaxl u a)
| forall b. (Cont u (b -> a)) :<*> (Cont u b)
| forall b. (b -> a) :<$> (Cont u b)
@ jd823592 Haxl庫在問題 – Shersh
已經提到的摺疊
Cont
和它的符號結構成實際值對不起,我是一個白癡,我誤解了 – jakubdaniel