Anaphoric macro
એનાફોરિક મેક્રો એ પ્રોગ્રામિંગ મેક્રોનો એક પ્રકાર છે જે ઇરાદાપૂર્વક મેક્રોને પૂરા પાડવામાં આવેલા કેટલાક સ્વરૂપને મેળવે છે જેને એનાફોર (બીજાનો ઉલ્લેખ કરતી અભિવ્યક્તિ) દ્વારા સંદર્ભિત કરી શકાય છે. એનાફોરિક મેક્રોઝ સૌપ્રથમ પોલ ગ્રેહામની ઓન લિસ્પમાં દેખાયા હતા અને તેમનું નામ ભાષાકીય એનાફોરાનો સંદર્ભ છે-અગાઉના શબ્દોના વિકલ્પ તરીકે શબ્દોનો ઉપયોગ. ઉદાહરણો એ. એન. એસ. આઈ. કોમન લિસ્પમાં લૂપ મેક્રો બંધનમાં એનાફોરિક છે, જ્યાં આઇ. ટી. અભિવ્યક્તિ કલમમાં પરીક્ષણ અભિવ્યક્તિનું પરિણામ દર્શાવે છે. અહીં એક ઉદાહરણ છે જે બિન-શૂન્ય તત્વોના મૂલ્યનો સરવાળો કરે છે, જ્યાં તે એવા તત્વોના મૂલ્યોનો સંદર્ભ આપે છે જે શૂન્યની બરાબર નથીઃ ('માં તત્વ માટે લૂપ (શૂન્ય 1 શૂન્ય 2 શૂન્ય 3 4 6) જ્યારે તત્વ તેનો સરવાળો કરે છે);; 16 અહીં તે (અને (> સંખ્યા 3) ના આઉટપુટ સાથે બંધાયેલ છે જ્યારે સાચું હોય, ત્યારે 3 કરતા મોટી સંખ્યાઓ એકત્રિત કરે છેઃ (1 થી 6 સુધીની સંખ્યા માટે લૂપ જ્યારે (અને (> સંખ્યા 3) સંખ્યા) તેને એકત્રિત કરે છે); આઇટી (અને (> સંખ્યા 3) સંખ્યાને સંદર્ભિત કરે છે). ;; (4,56) એનાફોરિક મેક્રોઝની વ્યાખ્યા એક ઉદાહરણ એ જો-પછી-અન્ય રચનાનું એનાફોરિક સંસ્કરણ છે, જે તેને એનાફોર રજૂ કરે છે, જે પરીક્ષણ કલમના પરિણામ સાથે બંધાયેલ છેઃ (ડેફમેક્રો એઇફ (પરીક્ષણ-સ્વરૂપ પછી-સ્વરૂપ અને વૈકલ્પિક અન્યથા-સ્વરૂપ) '(ચાલો ((તે, પરીક્ષણ-સ્વરૂપ)) (જો તે, પછી-સ્વરૂપ, અન્યથા-સ્વરૂપ))) (એઇએફ (+ 2,7) (બંધારણ નિલ "~ એ એનઆઈએલની બરાબર નથી. તે) (બંધારણ શૂન્ય "~ A બરાબર NIL કરે છે". તે)); "9 બરાબર NIL નથી". બીજું ઉદાહરણ λ-ફંક્શનનું એનાફોરિક વર્ઝન છે, જે ફંક્શનને એનાફોર સેલ્ફ સાથે જોડે છે, જે તેને પુનરાવર્તિત કરવાની મંજૂરી આપે છેઃ (ડેફમેક્રો અલામ્બડા (પાર્મ્સ અને બોડી બોડી) '(લેબલ્સ (સેલ્ફ, પાર્મ્સ, @body) #' સેલ્ફ)); ફેક્ટોરિયલ ફંક્શનને પુનરાવર્તિત રીતે વ્યાખ્યાયિત કરવામાં આવે છે જ્યાં 'સેલ્ફ' એ અલામ્બડા ફંક્શન (અલામ્બડા (એન) (જો (= એન 0) 1 (* એન (સેલ્ફ (1-એન))) નો સંદર્ભ આપે છે. પોલ ગ્રેહામ એનાફોરા દ્વારા ઓન લિસ્પમાંથી એનાફોરિક મેક્રોઝ-એક એનાફોરિક મેક્રો સંગ્રહ લિસ્પ (પ્રોગ્રામિંગ લેંગ્વેજ) પ્રોગ્રામિંગ ઉદાહરણ તરીકે લિસ્પ (પ્રોગ્રામિંગ લેંગ્વેજ) કોડ સાથે સોર્સ કોડ લેખો બનાવે છે.