1. और 2. के उत्तरों के लिए, प्रश्न पर d.j.sheldrick की टिप्पणी देखें। उत्तर 3:
सबसे पहले, हालांकि यह यहां प्रासंगिक नहीं है, नामित फ़ंक्शंस स्वयं को उनके नाम से संदर्भित कर सकते हैं। यह उन्हें शीर्ष पर recur
की बजाय सामान्य कॉल तंत्र के माध्यम से खुद को मूल्य के रूप में वापस करने या स्वयं को कॉल करने की अनुमति देता है। महत्वपूर्ण बात यह है कि यह आलसी seqs उत्पन्न कार्यों के लिए सही स्व-कॉल रणनीति है; मैं in an earlier SO answer के कारणों में गया हूं ("आप आलसी अनुक्रम में रिकर्सिव कॉल कैसे लपेट सकते हैं ..." ब्लॉक उद्धरण के बाद भाग देखें।
दूसरा, कार्यों को JVM कक्षाओं में संकलित किया गया है। कक्षाओं को नामस्थान पर आधारित क्लोजर कंपाइलर द्वारा नामित किया गया है जिसमें कार्य को परिभाषित किया गया है यदि फ़ंक्शन का नाम बदल दिया गया है; अन्यथा इस वर्ग का उपयोग कक्षा के लिए एक और सार्थक नाम उत्पन्न करने के लिए किया जाता है। यह डिबगिंग के लिए उपयोगी है, क्योंकि यह स्टैक निशान को अधिक समझदार बनाता है।
स्रोत
2013-04-11 20:32:36
1. यहां उत्तर दिया गया था: http://stackoverflow.com/questions/7552632/what-does-static-do-in-clojure –