Y - Combinator
मैं वाई के बारे में जानने की कोशिश कर रहा है - combinators (उस पर एक स्पष्टीकरण के रूप में अच्छी तरह से सुंदर हो जाएगा) और इस wiki से एक उदाहरण भर में आया था। हास्केल या पायथन में विषय पर गहराई से स्पष्टीकरण की सराहना की जाएगी। Pleaaase! वाई-कॉम्बिनेटर का उपयोग कैसे करें; यह अनंत रिकर्सन 9 क्यों लौटाता है?
कोड
fix :: (a -> a) -> a
fix f = f (fix f)
समस्या
समारोह कहा जाता fix
रिटर्न 9
जब fix
(\x -> 9)
लिए आवेदन किया है और मैं कोई सुराग नहीं क्यों है; जब मैं ढेर का पालन करता हूं तो मैं f(f ... (fix f) ...)
को विज़ुअलाइज़ करता हूं।
>> fix (\x -> 9)
>> 9