2015-09-20 9 views
143

मैं ghc-mod vim प्लगइन का उपयोग करने के लिए जाँच आदि हालांकि प्रकार/वाक्य रचना करने के लिए कोशिश कर रहा हूँ, मैंने पाया कि ghc-mod हमेशा प्रकार के संपूर्ण पथ त्रुटि संदेश में, उदाहरण के लिए उपयोग करता है:क्या जीएचसी-मोड को प्रकारों के लिए पूर्ण नामों का उपयोग करना है?

test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’                     
||    with ‘[GHC.Types.Char]’ 
|| Expected type: containers-0.5.6.2:Data.Map.Base.Map 
||     [GHC.Types.Char] 
||     ([(integer-gmp-1.0.0.0:GHC.Integer.Type.Integer, 
||      integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)], 
||     containers-0.5.6.2:Data.Set.Base.Set 
||      integer-gmp-1.0.0.0:GHC.Integer.Type.Integer) 
|| Actual type: containers-0.5.6.2:Data.Map.Base.Map 
||     Data.Text.Internal.Text 
||     ([(integer-gmp-1.0.0.0:GHC.Integer.Type.Integer, 
||      integer-gmp-1.0.0.0:GHC.Integer.Type.Integer)], 
||     containers-0.5.6.2:Data.Set.Base.Set 
||      integer-gmp-1.0.0.0:GHC.Integer.Type.Integer) 
|| In the second argument of ‘containers-0.5.6.2:Data.Map.Base.map’, namely 
|| ‘zippedMap’ 
|| In the second argument of ‘(GHC.Base.$)’, namely 
|| ‘containers-0.5.6.2:Data.Map.Base.map 
... 

जो clutters स्क्रीन और मेरे लिए यह पता लगाना बहुत मुश्किल है कि कहां गलत हुआ।

test.hs:71:13: 
    Couldn't match type ‘T.Text’ with ‘[Char]’ 
    Expected type: M.Map [Char] ([(Integer, Integer)], S.Set Integer) 
     Actual type: M.Map T.Text ([(Integer, Integer)], S.Set Integer) 
    In the second argument of ‘M.map’, namely ‘zippedMap’ 
    In the second argument of ‘($)’, namely 
     ‘M.map 
... 

जो अधिक स्वच्छ है: तुलना के रूप में, यह एक ही फाइल ghci प्रयोग करने के लिए त्रुटि संदेश है। क्या ghc-mod प्रकारों के लिए छोटे नामों का उपयोग करने का कोई तरीका है?

+3

यह मेरे लिए मनाया गया व्यवहार नहीं है। क्या यह अभी भी आपके लिए हो रहा है? आप 'ghc' और' ghc-mod 'के कौन से संस्करण उपयोग कर रहे हैं? – dkasak

+3

क्या आपके पास स्वयं निहित उदाहरण है (आयात शामिल है) जो ऊपर की तरह आउटपुट उत्पन्न करता है? मुझे लगता है कि मुझे पता है कि समस्या क्या हो सकती है, लेकिन आउटपुट से ही बताना मुश्किल है ... – Alec

उत्तर

0

आप एक जीएचसी विकल्प के रूप में -dsuppress-module-prefixes पास करने का प्रयास कर सकते हैं। कुछ बिंदु पर, यह मुझे नामों में मॉड्यूल क्वालीफायर से छुटकारा पाने में मदद करता था।

1

आप के रूप GHC-आधुनिक से GHC के लिए तर्क पारित कर सकते हैं:

$ ghc-mod lint *.hs -g -dsuppress-module-prefixes 

यह GHC के लिए तर्क -dsuppress-module-prefixes भेज देंगे।

संबंधित मुद्दे