मान लीजिए कि मेरे पास निम्नलिखित रिकॉर्ड है ADT:
data Foo = Bar { a :: Integer, b :: String, c :: String }
मैं एक ऐसा कार्य चाहता हूं जो एक रिकॉर्ड ले और एक रिकॉर्ड (उसी प्रकार का) लौटाए जहां सभी क्षेत्रों में समान मानों को तर्क के रूप में पारित किया गया हो, जैसे:
walkDuck x = Bar { a = a x, b = b x, c = lemonadeStand (a x) (b x) }
उपरोक्त काम करता है, लेकिन अधिक फ़ील्ड्स (कहना 10
) के साथ एक रिकॉर्ड के लिए , इस तरह के फ़ंक्शन को बनाने से बहुत अधिक टाइपिंग होती है जो मुझे लगता है कि काफी अनावश्यक है।
क्या ऐसा करने के कोई कम थकाऊ तरीके हैं?