एरिक लिपर्ट के लेख में हंगेरियन नोटेशन के साथ क्या है? , वह बताता है कि हंगेरियन नोटेशन (अच्छा प्रकार) का उद्देश्य है
भंडारण प्रतिनिधित्व सूचना के अलावा अर्थ सूचना को शामिल करने के लिए "प्रकार" की अवधारणा का विस्तार करें।
एक सरल उदाहरण एक चर का उपसर्ग होगा जो "x" के साथ एक एक्स-समन्वय का प्रतिनिधित्व करता है और एक चर जो "y" के साथ एक Y- समन्वय का प्रतिनिधित्व करता है, भले ही वे चर पूर्णांक या फ़्लोट हों या जो भी हों, ताकि जब आप गलती से लिखें। xFoo + yBar
कोड स्पष्ट रूप से गलत दिखता है।
लेकिन मैं हास्केल के प्रकार प्रणाली के बारे में भी पढ़ रहा हूं, और ऐसा लगता है कि हास्केल में, एक ही चीज़ को पूरा कर सकते हैं (यानी " वास्तविक अर्थों को शामिल करने के लिए प्रकार की अवधारणा का विस्तार करें") वास्तविक प्रकारों का उपयोग करके जो कंपाइलर आपके लिए जांच करेगा। इसलिए ऊपर दिए गए उदाहरण में, xFoo + yBar
हास्केल वास्तव में यह संकलन करने में विफल होगा कि आपने अपने कार्यक्रम को सही ढंग से डिज़ाइन किया है, क्योंकि उन्हें असंगत प्रकार के रूप में घोषित किया जाएगा। दूसरे शब्दों में, ऐसा लगता है कि हस्केल की प्रकार प्रणाली हंगरी संकेतन के समतुल्य संकलन-समय की जाँच का प्रभावी ढंग से समर्थन करती है
तो, हंगेरियन नोटेशन प्रोग्रामिंग भाषाओं के लिए सिर्फ एक बैंड-सहायता है, जिनके प्रकार सिस्टम अर्थ सूचना को सांकेतिक नहीं कर सकते हैं? या हंगेरियन नोटेशन एक स्थिर प्रकार की प्रणाली जैसे कि हास्केल की पेशकश कर सकता है, उससे परे कुछ प्रदान करता है?
(बेशक, मैं एक उदाहरण के रूप में हास्केल का उपयोग कर रहा हूं। मुझे यकीन है कि समान अभिव्यंजक (समृद्ध? मजबूत?) प्रकार की प्रणालियों के साथ अन्य भाषाएं हैं, हालांकि मैं किसी भी पार नहीं आया हूं।)
स्पष्ट होने के लिए, मैं डेटा प्रकार के साथ चर नामों की व्याख्या करने के बारे में बात नहीं कर रहा हूं , बल्कि कार्यक्रम के संदर्भ में चर के अर्थ के बारे में जानकारी के साथ । उदाहरण के लिए, एक चर एक पूर्णांक या फ्लोट या डबल या लंबा या जो कुछ भी हो सकता है, लेकिन हो सकता है कि चर का अर्थ यह है कि यह एक सापेक्ष एक्स-समन्वित इंच में मापा जाता है। इस तरह की जानकारी मैं हंगेरियन नोटेशन (और हास्केल प्रकार के माध्यम से) के माध्यम से एन्कोडिंग के बारे में बात कर रहा हूं।