जैसा कि मेरे previous question पर समझाया गया है, तो आपके नोड्स पर किसी प्रकार का अनूठा लेबल नहीं होने पर गठबंधन रणनीति को टाई करके दो ग्राफों को अलग करना असंभव है। एक उदाहरण के रूप में एक दो धार ग्राफ का उपयोग करना:क्या टाईंग-द-गाँठ रणनीति का उपयोग करके आलेख व्यक्त करने का सुविधाजनक तरीका है?
data Node = Node Int Node Node
square = a where
a = Node 0 b c
b = Node 1 a d
c = Node 2 a d
d = Node 3 b c
square
लेखन कि जिस तरह से एक छोटे से असुविधाजनक और त्रुटि प्रवण लेबल मैन्युअल लिखने की जरूरत की वजह से है। उस तरह का पैटर्न आमतौर पर एक मोनड के लिए कॉल करेगा:
square = do
a <- Node b c
b <- Node a d
c <- Node a d
d <- Node b c
return a
लेकिन मोनैड अनुक्रमिक होने के बाद भी यह नहीं किया जा सकता है। क्या टाईंग-द-गाँठ ग्राफ लिखने का कोई सुविधाजनक तरीका है?
दिया [मेरे अन्य जवाब] (http://stackoverflow.com/a/33337598/477476), हो सकता है आपका यह विशेष उपयोग के मामले के लिए, बस गाँठ बांधने सुविधाजनक तरीका हो सकता है! – Cactus