श्रेणी सिद्धांत के संदर्भ में फ्यूचर्स का वर्णन कैसे किया जाता है?


22

क्या श्रेणी सिद्धांत के संदर्भ में वायदा या वादों का एक उपयोगी वर्णन है ? विशेष रूप से, भविष्य का स्पष्ट दोहरी क्या हो सकता है?

जवाबों:


25

जैसा कि होता है, मैं अब इस बारे में एक पेपर लिख रहा हूं। आईएमओ, वायदा या वादों के बारे में सोचने का एक अच्छा तरीका लौकिक तर्क के लिए करी-हावर्ड पत्राचार के संदर्भ में है

मूल रूप से, वायदा के पीछे का विचार यह है कि यह एक डेटा संरचना है जो एक संगणना का प्रतिनिधित्व करता है जो प्रगति पर है, और जिस पर आप सिंक्रनाइज़ कर सकते हैं। लौकिक तर्क के संदर्भ में, यह अंततः ऑपरेटर है A । : यह एक monadic संरचना है

return:AAbind:(AB)AB
, जिसमें returnआपरेशन spawns एक प्रक्रिया है कि तुरंत अपनी तर्क देता है, और एक नई प्रक्रिया है जिसके लिए इंतजार कर रहा है बनाता है एक के मूल्य, लागू होता है है कि मूल्य के लिए, और उसके बाद के लिए इंतजार कर रहा है बी लौटने से पहले -value। CommonJS के लिए वादे / एक प्रस्ताव monadic बाँध आपरेशन कॉल , और स्काला 2.10 बस इसे मानक monadic इंटरफ़ेस देता हैbindafBthen

AAAλ

AAA

सबसे स्वाभाविक (IMO) करने वाली बात यह है कि , जो आपको प्रत्येक पल में एक (संभावित रूप से अलग) प्राप्त करने की अनुमति देता है । फिर, आप कार्यात्मक प्रतिक्रियाशील प्रोग्रामिंग (एफआरपी) (पहले Tarmo Uustalu और Varmo लिबास द्वारा प्रस्तावित) की कॉमोडैडिक शैली को वायदा के साथ प्रोग्रामिंग की दोहरी से मोनडिक शैली के रूप में देख सकते हैं।AStreamAA

हालांकि, comonadic -calculus जैसा कि वे सुझाव देते हैं, इसकी लालित्य के बावजूद, धाराओं के साथ स्पष्ट रूप से प्रोग्रामिंग के सापेक्ष अभिव्यक्ति की गंभीर हानि का कारण बनता है, क्योंकि फ्री कोलजेब्रस की श्रेणी जो वे उपयोग करते हैं, कई दिलचस्प कार्यक्रमों को निरूपित करने के लिए बहुत अधिक वैश्विक तत्व हैं। , विशेष रूप से निश्चित अंक।λ

निक बेंटन और मैंने प्रतिक्रियात्मक कार्यक्रमों के हमारे पेपर अल्ट्रामेट्रिक सेमेंटिक्स में धाराओं के साथ स्पष्ट रूप से प्रोग्रामिंग के लिए तर्क दिया है । इसके बाद, एलन जेफरी ने अपने पेपर LTL प्रकार FRP में एक प्रकार की प्रणाली के रूप में LTL का उपयोग करने का सुझाव दिया , एक अवलोकन जो वोल्फगैंग जेल्त्स ने भी अपने पेपर टूवार्ड -टाइम टेम्पररी लॉजिक और फंक्शनल रिएक्टिव प्रोग्रामिंग के लिए एक सामान्य श्रेणीबद्ध शब्दार्थ में किया

निक और मैं के बीच का अंतर, और एलन और वोल्फगैंग को लेने वाले के बीच का अंतर सबसे अच्छा समझा जाता है (आईएमओ) बीरकेडल एट अल में दिए गए निर्माण की तुलना करके। सिंथेटिक गार्डेड डोमेन सिद्धांत में पहला कदम: टॉपोस में स्टेप-इंडेक्सिंग। एलन के कागज के साथ पेड़ों की। पेड़ों का टोपोस (आकार द्वारा आदेशित प्राकृतिक संख्याओं पर प्रिहीवेज़) अल्ट्रामेट्रिक रिक्त स्थान निक की श्रेणी के समान है और मैंने इस्तेमाल किया, लेकिन एलन की श्रेणी (समय की असतत श्रेणी से अधिक की तुलना में) के साथ तुलना करना बहुत आसान है, क्योंकि ये दोनों प्रिहाइफ़ हैं श्रेणियाँ।

यदि आप विशेष रूप से संगामिति के लिए वायदा में रुचि रखते हैं, तो यह LTL के बजाय CTL को देखने के लिए एक बेहतर विचार हो सकता है , हालांकि। AFAIK, यह वर्तमान में बेरोज़गार क्षेत्र है!

EDIT: यहां ड्राफ्ट का लिंक दिया गया है । कागज ज्यादातर टाइप किए गए एफआरपी को लागू करने के बारे में है, इसलिए भाषा समकालिक है। लेकिन धारा 3.3 में वायदा / आयोजनों की चर्चा की मूल रूप से मूल रूप से समवर्ती भाषाओं पर भी लागू होनी चाहिए।


1
जब आप इसे पूरा कर लेंगे, तो मुझे इसकी एक प्रति प्राप्त होगी।
डेव क्लार्क

1
ऐसा लगता है कि यह वायदा की एक महत्वपूर्ण विशेषता खो देता है: एक बार एक मूल्य प्राप्त करने के बाद, यह बदल नहीं सकता है। मैं इसे एक axiom के रूप में ले कर व्यक्त करने की कोशिश करूँगा , लेकिन यह नहीं है कि हम क्या चाहते हैं यदि अर्थ एक धारा है ... और जब यह किया जाता है, तो मैं कागज़ की एक प्रति भी पसंद करूंगा: )AA
एलेक्सी रोमानोव

मैंने हाल ही में पढ़ा है कि स्काला प्रकार Try[T]और Future[T]दोहरे हैं, लेकिन मुझे यह समझ में नहीं आया कि इसका क्या अर्थ है / किस अर्थ में।
जियोर्जियो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.