क्या कोई यह बता सकता है कि elisp में cl पैकेज का उपयोग करने के साथ विशिष्ट समस्याएं क्या हैं? Emacs में एक नया कोडर के रूप में मुझे लगता है कि जब भी मैं (आवश्यकता 'सीएल) विकल्प तक पहुंचता हूं तो मैं गलती कर रहा हूं। मैंने सीएल पैकेज के साथ बाइट-संकलन समस्या को पढ़ और समझ लिया है। मैंने पुराने तर्कों को देखा है और उन्हें पुनर्जीवित करने की कोई इच्छा नहीं है। मैं किसी भी सामान्य टिप्पणी की भी तलाश नहीं कर रहा हूं कि क्या एक्स-ब्रांड लिस्पी से सामान्य-लिस्प बेहतर है या नहीं।मैं elisp में सामान्य-lisp का सबसे अच्छा उपयोग कैसे करूं (यदि बिल्कुल)?
मैं जो जानना चाहता हूं वह व्यावहारिक रूप से सामान्य-लिस्प का उपयोग कैसे करें ताकि मेरे द्वारा लिखे गए किसी भी elisp के पास elisp कोडर्स के बहुमत द्वारा स्वीकार किए जाने का एक अच्छा मौका होगा। विशेष रूप से, क्या मुझे पूरी तरह से सामान्य लिस्प का उपयोग करने से बचना चाहिए, या क्या भाषा के कुछ हिस्सों में हर किसी के लिए स्वीकार्य है और कुछ हिस्सों जहां कोडर का एक अच्छा बहुमत स्निगर और स्कोफ होगा?
जवाब के कोने-कोने को सीमित करने की इच्छा के बिना, यह है:
(mapcar (lambda(x) (* x x)) '(1 2 3))
ज्यादा इस की तुलना में अधिक स्वीकार्य
:
(require 'cl)
(loop for el in '(1 2 3) collect (* el el))
किसी भी व्यक्ति से कुछ टिप्पणी प्राप्त करना बहुत अच्छा होगा जो सामान्य-लिस्प पसंद नहीं करता है (या शायद कोई नहीं है और मिथक बस्टेड है)। –
सीएल पैकेज आम-लिस्प नहीं है, इसलिए आप एक को पसंद कर सकते हैं और दूसरे को नापसंद कर सकते हैं। मुझे सीएल पैकेज की पेशकश के कई हिस्सों को पसंद है, लेकिन कई अन्य कारण हैं जो विभिन्न कारणों से समस्याग्रस्त हैं। Emacs-24.3 में नई 'cl-lib' लाइब्रेरी नामस्थान को साफ़ करती है ताकि अगर' cl-lib' अच्छा है या नहीं तो हमें परवाह करने की आवश्यकता नहीं है। सीएल I का हिस्सा सामान्य-लिस्प की विशेषताओं के साथ नहीं करना है जो "सरल दुभाषिया" कार्यान्वयन के लिए उपयुक्त नहीं हैं, इसलिए परिणामस्वरूप अप्रत्याशित प्रदर्शन लागत हो सकती है। (साथ ही कुछ विशेषताएं जिनके कार्यान्वयन त्रुटिपूर्ण हैं) – Stefan