Haskell Language
मुक्त मठ के रूप में आम भिक्षु
खोज…
खाली ~~ पहचान
दिया हुआ
data Empty a
हमारे पास है
data Free Empty a
= Pure a
-- the Free constructor is impossible!
जो isomorphic है
data Identity a
= Identity a
फ्री आइडेंटिटी ~~ (Nat), ~~ राइटर नेट
दिया हुआ
data Identity a = Identity a
हमारे पास है
data Free Identity a
= Pure a
| Free (Identity (Free Identity a))
जो isomorphic है
data Deferred a
= Now a
| Later (Deferred a)
या समतुल्य (यदि आप पहले fst तत्व का मूल्यांकन करने का वादा करते हैं) (Nat, a)
, aka Writer Nat a
, with
data Nat = Z | S Nat
data Writer Nat a = Writer Nat a
फ्री हो सकता है ~~ IFT (राइटर नेट)
दिया हुआ
data Maybe a = Just a
| Nothing
हमारे पास है
data Free Maybe a
= Pure a
| Free (Just (Free Maybe a))
| Free Nothing
के बराबर है
data Hopes a
= Confirmed a
| Possible (Hopes a)
| Failed
या समकक्ष (यदि आप पहले fst तत्व का मूल्यांकन करने का वादा करते हैं) (Nat, Maybe a)
, उर्फ़ MaybeT (Writer Nat) a
साथ
data Nat = Z | S Nat
data Writer Nat a = Writer Nat a
data MaybeT (Writer Nat) a = MaybeT (Nat, Maybe a)
नि: शुल्क (लेखक w) ~~ लेखक [w]
दिया हुआ
data Writer w a = Writer w a
हमारे पास है
data Free (Writer w) a
= Pure a
| Free (Writer w (Free (Writer w) a))
जो isomorphic है
data ProgLog w a
= Done a
| After w (ProgLog w a)
या, समकक्ष, (यदि आप पहले लॉग का मूल्यांकन करने का वादा करते हैं), Writer [w] a
।
नि: शुल्क (कास्ट सी) ~~ या तो सी
दिया हुआ
data Const c a = Const c
हमारे पास है
data Free (Const c) a
= Pure a
| Free (Const c)
जो isomorphic है
data Either c a
= Right a
| Left c
नि: शुल्क (रीडर x) ~~ रीडर (स्ट्रीम x)
दिया हुआ
data Reader x a = Reader (x -> a)
हमारे पास है
data Free (Reader x) a
= Pure a
| Free (x -> Free (Reader x) a)
जो isomorphic है
data Demand x a
= Satisfied a
| Hungry (x -> Demand x a)
या समकक्ष Stream x -> a
साथ
data Stream x = Stream x (Stream x)
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow