deftype
और defprotocol
क्लोजर में गतिशील व्यवहार को परिभाषित करता है। रैकेट में, हम struct
या struct-property
के साथ ऐसी चीजें करेंगे, हालांकि रैकेट में defprotocol
की तरह कुछ भी नहीं है।
संपादित करें: रैकेट में अब generics है, जो क्लोजर प्रोटोकॉल की तरह हैं।
reify
और extend
, मुझे लगता है, रैकेट में make-struct-type
के उपयोग के अनुरूप है, जो गतिशील रूप से नए संरचना प्रकार बनाता है।
टाइपेड रैकेट और इन सभी सुविधाओं के बीच बड़ा अंतर यह है कि टाइप किए गए रैकेट आपके प्रोग्राम स्थिर रूप से - इसे चलाने की कोशिश करने से पहले जांचता है। आप कभी भी टाइप किए गए रैकेट प्रोग्राम में गलत एक्सेसर लागू नहीं कर सकते हैं, या फ़ंक्शन के रूप में किसी संख्या का उपयोग नहीं कर सकते हैं। आप ऐसे प्रोग्राम को भी नहीं चला सकते जिसके बारे में कोई त्रुटि हो।
वर्तमान में, टाइप किए गए रैकेट की तरह क्लोजर की विशेषताएं एनोटेशन हैं जो प्रदर्शन के लिए उपयोग करती हैं।
संपादित करें: अब एम्ब्रोस बोनेयर-सार्जेंट द्वारा Typed Clojure है, जो प्रेरित है और टाइपेड रैकेट पर आधारित है।
स्रोत
2012-03-04 23:04:22