2011-12-14 22 views
6

में स्थिर टाइपकेकिंग मैं धीरे-धीरे एरलांग से प्यार में पड़ रहा हूं, और केवल एक बड़ी, बड़ी समस्या है।एरलांग

मैं अपने मजबूत स्थैतिक टाइपकेकिंग के साथ स्टैंडअर्ट एमएल और ओकंपल जैसी भाषाओं का बड़ा प्रशंसक हूं।

एरलांग में स्थिर टाइपकेकिंग के somesort परिचय करने के लिए एक अच्छा और साफ तरीका है। मैं -type और -spec एनोटेशन देख रहा हूं।

क्या किसी के पास कोई अच्छा समाधान है?

उत्तर

11

मैं वहां गया हूं! मैं ओकैमल और एरलांग दोनों से प्यार करता हूं और नियमित रूप से उनका उपयोग करता हूं।

जब तक मैंने एरलांग का उपयोग करना शुरू किया, तब तक मुझे ओकैमल के साथ वर्षों का अनुभव था। इस तथ्य को समायोजित करने में मुझे कई सप्ताह लग गए कि कंपाइलर में कोई स्थिर टाइपकेकर नहीं है। लेकिन उसके बाद, दर्द पूरी तरह से चला गया था।

कुछ हद तक, टाइपशेकर के बिना जाकर एक सार्थक अभ्यास है। मेरे लिए, यह प्रबुद्ध अनुभव था और वास्तव में मुझे एक बेहतर प्रोग्रामर बना दिया।

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

+0

आप व्याख्या कर सकते हैं क्यों एक typechecker बिना जा रहा शिक्षाप्रद था? क्या आपको लगता है कि टाइपकेकर आपके अनुभव में बेकार हैं? – mljrg

+0

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

3

जांच Dialyzer उपकरण

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

2

मैं ज्यादातर -spec और -type प्रलेखन प्रयोजनों के लिए उपयोग करें: आप तो -spec साथ कल्पना लिखते हैं, टाइपकर्ता साथ यह जाँच और फिर, साल के माध्यम से (के बाद eDoc प्रारूप में कुछ अतिरिक्त जानकारी जोड़ने) उत्पन्न प्रलेखन

+0

जो मैं भी समाप्त कर रहा था :) –

3

वहाँ Erlang के शीर्ष पर टाइप सिस्टम बनाने के कुछ प्रयास थे। ऐसा एक प्रयास 1 99 7 में हुआ था, जिसमें ग्लासगो हास्केल कंपाइलर और फिलिप वाडलर के प्रमुख डेवलपर्स में से एक साइमन मार्लो, जो हास्केल के डिजाइन पर काम करते थे और ने मोनैड के पीछे सिद्धांत में योगदान दिया (कहा गया पेपर पढ़ें सिस्टम टाइप करें)। जो आर्मस्ट्रांग बाद में कागज पर टिप्पणी की:

एक दिन फिल मुझे फोन किया और घोषणा की कि एक) Erlang एक प्रकार प्रणाली की जरूरत है, ख) वह एक प्रकार प्रणाली का एक छोटा सा प्रोटोटाइप लिखा था और ग) वह था एक एक वर्ष के विश्राम और उत्तर Erlang के लिए एक प्रकार प्रणाली लिखने के लिए जा रहा था और "हम रुचि रखते थे?" - "। हाँ"

फिल वाद्लेर और साइमन मार्लो एक वर्ष से अधिक के लिए एक प्रकार प्रणाली पर काम किया और परिणाम में प्रकाशित किया गया [20]। परियोजना के परिणाम कुछ हद तक निराशाजनक थे।प्रारंभ करने के लिए, भाषा का केवल एक उप-समूह टाइप-चेक करने योग्य था, प्रमुख प्रकार की प्रक्रिया प्रक्रिया प्रकारों की कमी और प्रकार की इंटर-प्रोसेस संदेशों की जांच करने की कमी थी।

http://learnyousomeerlang.com/types-or-lack-thereof