कार्यक्रमों के डिजाइन के लिए व्यावहारिक शब्दार्थ को लागू करना


30

मैंने डीनोटेशनल सेमेंटिक्स (डीएस) पर थोड़ा पढ़ा है और मैं कंप्यूटर प्रोग्राम डिजाइन करने की प्रक्रिया के बारे में बहुत गहन हूं जहां टाइप और फ़ंक्शंस गणित के लिए मजबूत और स्पष्ट मैपिंग हैं।

क्या कोई संसाधन हैं जो डीएस पर आधारित डिजाइनिंग कार्यक्रमों पर विस्तार से चर्चा करते हैं? मैंने इस विषय के कुछ सतही उपचार देखे हैं।

मैं हास्केल, स्काला, कॉमन लिस्प और थोड़ी सी स्कीम में बातचीत कर रहा हूं, इसलिए उन भाषाओं का उपयोग करने वाले किसी भी संसाधन की बहुत सराहना की जाएगी।


7
आपको कॉनल इलियट द्वारा काम की जांच करनी चाहिए: conal.net

2
यदि आप पहले से ही नहीं जानते हैं तो करी-हावर्ड आइसोमॉर्फिज्म कीवर्ड है।
पीडोफुरला

2
मैंने एक ऐसी ही बात सोची। मैंने अंकों, कठोर निकायों और द्रव के संख्यात्मक सिमुलेशन को डिजाइन करने की कोशिश की। यह ( github.com/takagi/SimulationDSL ) मेरा एक प्रयोग है जिसमें मैंने हास्केल डीएसएल में वेक्टर बीजगणित और आंशिक समीकरण व्यक्त किए हैं। मैंने कॉनल इलियट के काम की भी जाँच की।

3
आपको LtU की जांच करनी चाहिए । वहाँ शायद कुछ अच्छे पुराने विचार विमर्श कर रहे हैं, या कम से कम अपने सवाल तो वहाँ बेहतर होगा SO

3
आप सैमुअल कामिन को "वाडलर की सुंदर-छपाई वाले कॉम्बिनेटरों का एक कार्यान्वयन-उन्मुख शब्दार्थ" पढ़ना चाहते हैं। यह अच्छी तरह से ज्ञात, वास्तविक दुनिया उदाहरण को लागू करने के लिए परिचालन और सांप्रदायिक दृष्टिकोणों की तुलना करता है और इसमें एक सांकेतिक दृष्टिकोण के लिए वकालत शामिल है।
स्टीफन टेटली

जवाबों:


13

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

मैं हमेशा डिनोटेशनल डिज़ाइन के अनुप्रयोगों में रुचि रखता हूं, इसलिए मुझे आपके अन्वेषणों के बारे में सुनना अच्छा लगेगा।


महान संसाधनों के लिए धन्यवाद। इससे पहले कि मैं इस प्रश्न का उत्तर दूं, मैं उन्हें जांचने जा रहा हूं।
टिम स्टीवर्ट

आपके काम के लिंक देने के लिए धन्यवाद! यह दूसरी बार है जब मैंने इसका अध्ययन किया। दुर्भाग्य से, conal.net जवाब नहीं देता है। क्या ऐसी अन्य जगहें हैं जहां कोई इसे प्राप्त कर सकता है?
इम्ज़ - इवान ज़खरीशेव

1
ठीक है, एक भी पढ़ सकते हैं github.com/conal/talk-2014-bayhac-denotational-design/blob/...
इवान Zakharyaschev - IMZ

1
@ imz - इवानजखायराशेव क्षमा करें। मेरा वेब सर्वर नीचे चला गया। अब समर्थन देना। उम्मीद है कि मैंने इसे जल्द ही स्थानांतरित कर दिया है, और यह अधिक स्थिर होगा।
18

7

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


महान संसाधनों के लिए धन्यवाद। इससे पहले कि मैं इस प्रश्न का उत्तर दूं, मैं उन्हें जांचने जा रहा हूं।
टिम स्टीवर्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.