एक क्लासिक प्रोग्रामिंग अभ्यास लिस्प / स्कीम में एक लिस्प / स्कीम दुभाषिया लिखना है। भाषा की सबसेट के लिए दुभाषिया का उत्पादन करने के लिए पूरी भाषा की शक्ति का लाभ उठाया जा सकता है।
क्या हास्केल के लिए एक समान व्यायाम है? मैं इंजन के रूप में हास्केल का उपयोग करके हास्केल के सबसेट को लागू करना चाहता हूं। बेशक, यह किया जा सकता है, लेकिन क्या कोई ऑनलाइन संसाधन देखने के लिए उपलब्ध हैं?
यहाँ बैकस्टोरी है।
मैं एक डिस्क्रीट स्ट्रक्चर्स के पाठ्यक्रम में कुछ अवधारणाओं का पता लगाने के लिए एक भाषा के रूप में हास्केल का उपयोग करने के विचार की खोज कर रहा हूं जो मैं सिखा रहा हूं। इस सेमेस्टर के लिए मैं मिरांडा पर बसा हुआ हूं , जो एक छोटी भाषा है जिसने हास्केल को प्रेरित किया। मिरांडा 90% के बारे में क्या मैं यह करना चाहते हैं, लेकिन हास्केल लगभग 2000% करता है। :)
इसलिए मेरा विचार एक ऐसी भाषा का निर्माण करना है जिसमें हास्केल की विशेषताएं हैं जो मैं चाहता हूं और बाकी सब को नापसंद करता हूं। छात्रों की प्रगति के रूप में, मैं मूल रूप से मूल विशेषताओं में महारत हासिल करने के बाद चुनिंदा "विभिन्न सुविधाओं" को चालू कर सकता हूं।
जावा और स्कीम को सिखाने के लिए शैक्षणिक "भाषा स्तरों" का सफलतापूर्वक उपयोग किया गया है । वे जो कर सकते हैं उसे सीमित करके, आप उन्हें खुद को शूटिंग से रोक सकते हैं, जबकि वे अभी भी वाक्य रचना और अवधारणाओं में महारत हासिल कर रहे हैं जिन्हें आप सिखाने की कोशिश कर रहे हैं। और आप बेहतर त्रुटि संदेश दे सकते हैं।