2011-11-03 9 views
8

क्लोजर के अंतर्निर्मित फ़ंक्शंस के कुछ (0) def का उपयोग करके परिभाषित क्यों हैं, defn नहीं?क्लोजर बिल्ट-इन की फ़ंक्शन परिभाषा: def बनाम defn

मुझे पता है कि defndef के लिए एक शॉर्टकट है, लेकिन मुझे आश्चर्य है कि क्या कोई अन्य कारण है जैसे दक्षता/पठनीयता/शैली विचार/बूटस्ट्रैपिंग।

उत्तर

15

clojure/core.clj - defn में और नीचे अभी तक मौजूद नहीं है, क्योंकि यह फ़ाइल भाषा के रूप में चल रही है। कई सौ लाइनों के बाद, defnis written, और उसके बाद के कार्यों को defn के साथ परिभाषित किया गया है।

+1

प्रतिभा। भाषा की बढ़ती इमारत कई चीजों में से एक है जो क्लोजर स्रोत को इतना दिलचस्प पढ़ती है! – mikera

संबंधित मुद्दे