क्लोजर में अप्रचलित के रूप में प्रतीक को चिह्नित करने का कोई तरीका है?क्लोजर में अप्रचलित प्रतीक
मैं लीन से ऐसा कुछ उपयोग कर सकता हूं जो अच्छी तरह से काम करता है।
https://github.com/technomancy/leiningen/blob/1.x/src/leiningen/core.clj#L13
लेकिन यह केवल अपने चेतावनी का उत्सर्जन करता है जब एक समारोह कहा जाता है। मैं वास्तव में संकलक को उस समय लेने के लिए पसंद करूंगा जब कोड को संकलित किया जाता है, बजाए इसे बजाए जाने के बजाय।
बेशक, मैं सिर्फ नहीं प्रतीक है, जो संकलक तो लेने जाएगा निर्धारित कर सकते हैं, लेकिन इस तरह के क्यों, या जब प्रतीक पदावनत किया गया है के रूप में किसी भी जानकारी, प्रदान करने की क्षमता के बारे में मुझे लूटता ।
यह सब एक डीएसएल के लिए है जहां उचित दर पर शर्तों का बहिष्कार और अड़चन होने वाला है।
फ़ंक्शन को किसी अन्य फ़ंक्शन के रूप में फिर से परिभाषित करने के बजाय, इसे एक मैक्रो के रूप में फिर से परिभाषित करें जो संकलन समय पर विस्तारित होने पर चेतावनी को छोड़ देता है। – Barmar
@ बाड़ार जो तर्क के रूप में या शाब्दिक में उपयोग करना असंभव बनाता है। भयानक विचार। इसके बजाय, defdeprecated मैक्रो के विस्तार के दौरान चेतावनी को मजबूर करें। (निश्चित रूप से इसका मतलब है कि चेतावनी केवल लाइब्रेरी के संकलन के दौरान होती है, जो कि आप जो भी चाहते हैं वह हो सकता है)। – Cubic
@ क्यूबिक नहीं, यह भी गलत है। बिंदु यह चेतावनी देना है कि जब कोई क्लाइंट अनुप्रयोग अप्रचलित फ़ंक्शन _us_ करता है, तब लाइब्रेरी संकलित नहीं होता है। मुझे लगता है कि जो वास्तव में चाहता था वह क्लोजर कंपाइलर में विशेष समर्थन लेगा। – Barmar