में आंशिक मूल्यांकन कार्यान्वित करना मैं प्रोलॉग प्रश्नों के लिए आंशिक मूल्यांकनकर्ता लिख रहा हूं। मैं एक प्रश्न expand_goal/2
का उपयोग कर विस्तार करने के लिए कोशिश की, लेकिन यह केवल इस मामले में Output
साथ Input
सम्मिलित है:एसडब्ल्यूआई-प्रोलॉग
:- initialization(main).
main :-
Input=is_between(1,A,3),expand_goal(Input,Output),writeln(Output).
is_between(A,B,C) :-
B>A,B<C.
मैं भी term_expansion/2
उपयोग करने की कोशिश, लेकिन यह विफल कार्यक्रम का कारण बनता है:
:- initialization(main).
main :-
Input=is_between(1,A,3),term_expansion(Input,Output),writeln(Output).
is_between(A,B,C) :-
B>A,B<C.
क्या एसडब्ल्यूआई-प्रोलॉग में एक अंतर्निहित भविष्यवाणी है जो रनटाइम पर क्वेरी के मैक्रो-विस्तार को निष्पादित कर सकती है, जैसा कि मैंने यहां करने की कोशिश की थी?