मैं हास्केल में कुछ सरल स्वचालित भौतिक प्रणालियों (जैसे पेंडुलम, रोबोट हथियार, आदि) की कल्पना करने की कोशिश कर रहा हूं। अक्सर उन प्रणालियों को समीकरणों द्वारा वर्णित किया जा सकता है
df/dt = c*f(t) + u(t)
जहाँ u(t)
किसी प्रकार का 'बुद्धिमान नियंत्रण' का प्रतिनिधित्व करता है। वे प्रणालियां कार्यात्मक प्रतिक्रियाशील प्रोग्रामिंग प्रतिमान में बहुत अच्छी तरह से फिट दिखती हैं।
इसलिए मैंने पॉल हुडक की पुस्तक "द हास्केल स्कूल ऑफ एक्सप्रेशन" को पकड़ा, और पाया कि वहां प्रस्तुत डोमेन विशिष्ट भाषा "एफएएल" (फंक्शनल एनिमेशन लैंग्वेज के लिए) वास्तव में मेरे सरल टॉय सिस्टम के लिए काफी सुखद काम करती है (हालांकि कुछ कार्य, विशेष रूप से integrate
, एक कुशल उपयोग के लिए थोड़ा बहुत आलसी लग रहा था, लेकिन आसानी से ठीक करने योग्य)।
मेरा सवाल यह है कि आज और अधिक उन्नत, या अधिक व्यावहारिक, या यहां तक कि व्यावहारिक अभ्यास के लिए अधिक परिपक्व, अप-टू-डेट, सुव्यवस्थित, प्रदर्शन-ट्यून विकल्प क्या है?
यह विकी पृष्ठ हास्केल के लिए कई विकल्पों को सूचीबद्ध करता है, लेकिन मैं निम्नलिखित मामलों के बारे में स्पष्ट नहीं हूं:
कॉनियल एलियट की परियोजना "प्रतिक्रियाशील" की स्थिति, जो (जैसा कि मैं इसे समझता हूं) इस प्रोग्रामिंग प्रतिमान के अन्वेषकों में से एक, थोड़ा बासी दिखता है। मुझे उसका कोड बहुत पसंद है, लेकिन शायद मुझे अन्य अप-टू-डेट विकल्पों की कोशिश करनी चाहिए? वाक्यविन्यास / प्रदर्शन / रनटाइम-स्थिरता के संदर्भ में, उनके बीच प्राथमिक अंतर क्या है?
2011 में एक सर्वेक्षण से उद्धृत करने के लिए , धारा 6, " ... एफआरपी कार्यान्वयन अभी भी पर्याप्त रूप से कुशल या पूर्वानुमान के लिए पर्याप्त नहीं हैं जो कि डोमेन में प्रभावी ढंग से उपयोग किए जाने के लिए विलंबता की गारंटी की आवश्यकता है ... "। सर्वेक्षण में कुछ रोचक संभावित अनुकूलन का सुझाव दिया गया है, इस तथ्य को देखते हुए कि एफआरपी 15 से अधिक वर्षों के लिए है, मुझे यह धारणा मिलती है कि यह प्रदर्शन समस्या बहुत कम या कुछ वर्षों के भीतर कम से कम हल करने के लिए स्वाभाविक रूप से कठिन हो सकती है । क्या ये सच है?
सर्वेक्षण का वही लेखक अपने ब्लॉग में "समय लीक" के बारे में बात करता है । क्या समस्या एफआरपी के लिए अद्वितीय है, या कुछ ऐसा है जो हम आम तौर पर शुद्ध, गैर-सख्त भाषा में प्रोग्रामिंग करते समय करते हैं? क्या आपने कभी यह पाया है कि समय के साथ एफआरपी-आधारित प्रणाली को स्थिर करना बहुत मुश्किल है, अगर पर्याप्त प्रदर्शन न हो?
क्या यह अभी भी एक अनुसंधान स्तर की परियोजना है? क्या प्लांट इंजीनियर, रोबोटिक्स इंजीनियर, फाइनेंशियल इंजीनियर इत्यादि लोग वास्तव में इनका उपयोग कर रहे हैं (अपनी आवश्यकताओं के अनुरूप जो भी हो)?
यद्यपि मैं व्यक्तिगत रूप से हास्केल कार्यान्वयन को प्राथमिकता देता हूं, मैं अन्य सुझावों के लिए खुला हूं। उदाहरण के लिए, एर्लैंग कार्यान्वयन के लिए विशेष रूप से मजेदार होगा --- फिर एक बुद्धिमान, अनुकूली, स्व-सीखने की सर्वर प्रक्रिया करना बहुत आसान होगा!