मान लीजिए आप arity 1, 2 के तीन कार्य करता है और नीचे के रूप में 3 है:क्लोजर मिश्रित धर्मार्थ कार्यों की एक श्रृंखला का मूल्यांकन कर सकता है और यदि आवश्यक हो तो आंशिक कार्य वापस कर सकता है?
(defn I [x] x)
(defn K [x y] x)
(defn S [x y z] (x z (y z)))
clojure एक मूल्यांकन समारोह या मूल्यांकन के लिए मुहावरा है:
(I K S I I) as (I (K (S (I (I)))))
arity 2 के एक parital समारोह लौटने?
मैं एक मैक्रो बनाने पर विचार कर रहा हूं जो ऊपर की सरल कार्य परिभाषाएं ले सकता है और उन्हें बहु-धैर्य कार्यों में विस्तारित कर सकता है जो आंशिक परिणाम लौटा सकते हैं। अगर मैक्सो पहले से निर्मित या बेवकूफ तरीके से पूरा करने के लिए पहले से ही मैक्रो बनाना नहीं चाहता हूं।
(defn I
([x] I x)
([x & more] (apply (I x) more)))
(defn K
([x] (partial K x))
([x y] x)
([x y & more] (apply (K x y) more)))
(defn S
([x] (partial S x))
([x y] (partial S x y))
([x y z] (x z (y z)))
([x y z & more] (apply (S x y z) more)))
बस यह पाया, और सोचा कि यह * आपके लिए सही हो सकता है, और यदि कुछ और नहीं, कम से कम सहायक ... http: //alfredodinapoli.wordpress.com/2011/03/16/a-bit-of -क्लोजर-जादू-और-उच्च-आदेश-कार्य-सेवा-सेवा/ –