2016-02-22 2 views
5

शीर्षक यह सब कहता है। मैंने देखा है कि कुछ लोग पहचान संहिता के रूप में Data.Conduit.List.map id का उपयोग करते हैं, लेकिन क्या यह डेटा अपरिवर्तित स्ट्रीम करने का अनुशंसित तरीका है?क्या पहचान संवहनी है?

+1

'Data.Conduit.List.map' कार्यान्वयन से निर्णय लेते हुए, मैं हाँ कहूंगा। – arrowd

उत्तर

5

एक पहचान नाली लिखने के लिए सबसे आसान तरीका शायद है:

awaitForever yield 

क्योंकि यह एक अतिरिक्त आयात की आवश्यकता नहीं है।

Data.Conduit.List.map की परिभाषा बहुत समान है:

mapC f = awaitForever $ yield . f 

(। mapC और map के बीच का अंतर सीपीपी मैक्रो के साथ क्या करना संलयन परिभाषित करने के लिए कुछ न कुछ है)

जब अनुकूलन (-O1) पर है, ऐसा लगता है कि दोनों विकल्प समान कोड में होते हैं, इसलिए यह सिर्फ स्वाद का मामला है।

+3

यह अच्छा होगा अगर पुस्तकालय में 'idC = प्रतीक्षा करने योग्य उपज 'जोड़ा गया हो। शायद मैं इसके लिए एक पीआर बनाउंगा। – Mark

+0

@ पीआर पीआर के बारे में कोई खबर? – SwiftsNamesake

+0

@SwiftsNamesake, कृपया https://github.com/snoyberg/conduit/issues/255 देखें – Mark

संबंधित मुद्दे