13
मैं एक वैरैडिक फ़ंक्शन संरचना फ़ंक्शन लिखने की कोशिश कर रहा हूं। जो मूल रूप से (.)
है, सिवाय इसके कि दूसरा तर्क फ़ंक्शन विविधतापूर्ण है। इस भाव की तरह की अनुमति चाहिए:वैराडिक रचना समारोह?
map even . zipWith (+)
या सिर्फ
map even . zipWith
वर्तमान में मैं क्या काम करता है पहुँच गए हैं अगर मैं IncoherentInstances
जोड़ सकते हैं और पहला तर्क समारोह के लिए एक गैर बहुरूपी उदाहरण की आवश्यकता है।
{-# LANGUAGE FlexibleInstances, OverlappingInstances, MultiParamTypeClasses,
FunctionalDependencies, UndecidableInstances, KindSignatures #-}
class Comp a b c d | c -> d where
comp :: (a -> b) -> c -> d
instance Comp a b (a :: *) (b :: *) where
comp f g = f g
instance Comp c d b e => Comp c d (a -> b) (a -> e) where
comp f g = comp f . g
कोई विचार? क्या यह भी संभव है?
से बच सकते हैं आप आप "variadic समारोह रचना क्या मतलब है और अधिक एक सा समझा सकता "? शायद कुछ उदाहरण जोड़ें। –
मैंने अंतिम संपादन में थोड़ा सा स्पष्ट किया। इसके अलावा, दो दिए गए उदाहरणों में क्या गलत है? – is7s
ओह, क्षमा करें। उदाहरण ठीक हैं। यह मेरे लिए स्पष्ट नहीं था कि वे टाइपशेक नहीं करते हैं। –