में `और` के साथ `संतुष्टि 'का उपयोग करके मैंने Google Common Lisp Style Guide में पढ़ा है (अंतिम अनुभाग देखें) कि and
के संबंध में सामान्य लिस्प मानक में एक प्रकार की गलती है। अर्थात्, कि यह नहीं "शॉर्ट सर्किट", या समतुल्य करता मूल्यांकन के इसी क्रम, इसकी गारंटी नहीं है क्या example में माना जाता है के विपरीत:सामान्य लिस्प
(and integer (satisfies evenp))
हालांकि, CLtL2 की section 4.4 को देखते हुए यह कहा जाता है कि
जब
typep
and
टाइप विनिर्देशक को संसाधित करता है, तो यह हमेशा बाएं से दाएं क्रम में प्रत्येक घटक प्रकार का परीक्षण करता है और जैसे ही चौराहे के एक घटक को प्रसंस्करण बंद कर दिया जाता है, जिसमें प्रश्न में वस्तु संबंधित नहीं होती है।
और अनुभाग आगे बताता है कि यह त्रुटियों से बचने के लिए satisfies
को किसी अन्य प्रकार से फ़िल्टर करने की अनुमति देने के लिए ठीक है।
क्या मैं सुरक्षित रूप से यह मान सकता हूं कि यह Google स्टाइल गाइड में एक गलती है, या क्या CLTL2 के बाद व्यवहार बदल गया है?