tl; डॉ; प्रकार एक निरंतरता से अधिक व्यापक अमूर्त है
एक निरंतरता इसके इनपुट और आउटपुट का प्रकार है
एक गैर-प्रक्रिया आधारित निरंतरता के लिए निकटतम चीज आपको हास्केल में निरंतरता की संभावना है क्योंकि यह एक प्रकार के रूप में व्यक्त किया जाता है, जिसके लिए कई कार्यों का उपयोग प्रकार के साथ बातचीत करने, फिर से शुरू करने, बैकट्रैक, एट अल के लिए किया जा सकता है।
आप उस प्रकार को बंद कर सकते हैं जैसे कि Cont
हास्केल के प्रकार में जहां आपको "उच्च स्तर के अमूर्त" के रूप में मोनाड अमूर्त मिलता है, और निरंतरता पर अन्य प्रकार के अमूर्त के रूप में मिलते हैं जब आप निरंतरता को एक प्रकार के बजाय एक प्रकार के रूप में देखते हैं। उदाहरण के लिए, एक प्रक्रिया
- आप दो निरंतरताएं ले सकते हैं और उन दोनों के बीच एक विकल्प कर सकते हैं यदि प्रकार एक मोनॉइड होने के लिए कानूनों का पालन करता है
- आप कर सकते हैं प्रकार निरंतरता के इनपुट या आउटपुट प्रकार बदलने के लिए अगर आप एक प्रकार है कि एक के कानूनों का पालन करता में बंद संपुटित से अधिक सार functor
- आप मनमाने ढंग से और आंशिक रूप से अपनी निरंतरता को लागू कर सकते हैं या कार्यक्षमता के साथ सजा सकते हैं जैसे कि इनपुट सत्यापन या इनपुट रूपांतरण यदि आप एक प्रकार में क्लोजर को एन्कैप्सुलेट करते हैं जो एक ऐप्लिकेटर फ़ंक्टर के नियमों का पालन करता है।
प्रक्रिया बनाम प्रक्रिया
दिन के अंत में आप मूल रूप से सही हैं; एक निरंतरता एक "प्रक्रिया" है, हालांकि मैं इसे एक बंद के रूप में संदर्भित करूंगा। अक्सर समय की निरंतरता को प्रथम श्रेणी के बंद होने के रूप में व्यक्त किया जाता है जिसने एक बाध्य वातावरण को घेर लिया है। एक शुद्ध कार्यात्मक भाषा में आप कह सकते हैं कि यह विशेष रूप से उचित नहीं है क्योंकि आपके पास संदर्भों की कमी है; यह सच है, लेकिन आप मूल्यों को संलग्न कर सकते हैं और एकल असाइनमेंट मान बनाम संदर्भ को सटीक बनाता है। यह हास्केल में वृद्धि देता है:
(\x -> \y -> insideYIcanAccess x (and y))
एक ऐसी भाषा जिसमें एक बाध्यकारी वातावरण को घेरने की क्षमता का अभाव है, तकनीकी रूप से प्रथम श्रेणी के बंद होने का अभाव हो सकता है, लेकिन फिर भी कुछ वातावरण (आमतौर पर वैश्विक) है जो बंद करने के लिए उपलब्ध है।
इसलिए मैं कहूंगा कि यह निरंतरता का वर्णन करने के लिए अधिक सटीक है: एक विशेष तरीके से बंद किया जा रहा है।
निष्कर्ष
के प्रश्न के लिए "क्या एक प्रक्रिया के अलावा किसी भी तरह से एक निरंतरता लागू करने योग्य है?" यदि आपके पास प्रथम श्रेणी के कार्य नहीं हैं, तो आप वास्तव में निरंतरता नहीं रख सकते हैं (हां फ़ंक्शन संकेत प्रथम श्रेणी के कार्यों के रूप में गिने जाते हैं, इसलिए वैकल्पिक रूप से मनमाने ढंग से मेमोरी एक्सेस पर्याप्त हो सकती है)।
अब इस सवाल के लिए "क्या किसी प्रक्रिया की तुलना में अधिक सार तरीके से निरंतरता व्यक्त करने के कोई तरीके हैं?" इसे एक प्रकार के रूप में व्यक्त करना आपको बहुत अधिक अमूर्तता प्रदान करता है, जिससे आप बहुत सामान्य तरीकों से निरंतरता का इलाज कर सकते हैं जैसे कि आप इसे निष्पादित करने की तुलना में कई और तरीकों से जारी रख सकते हैं।