জিএইচসি-মোডকে কি প্রকারের জন্য পুরো নাম ব্যবহার করতে হবে?


143

আমি ghc-modটাইপ / সিনট্যাক্স পরীক্ষা ইত্যাদি করতে ভিআইএম প্লাগইনটি ব্যবহার করার চেষ্টা করছি তবে যাইহোক, আমি খুঁজে পেলাম যে 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
...

যা স্ক্রিনকে বিশৃঙ্খল করে এবং কোথায় ভুল হয়েছে তা খুঁজে পাওয়া আমার পক্ষে খুব কঠিন। তুলনা হিসাবে, এটি ব্যবহার করে একই ফাইলটির জন্য ত্রুটি বার্তা ghci:

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
...

যা অনেক ক্লিনার। ghc-modপ্রকারগুলির জন্য সংক্ষিপ্ত নাম ব্যবহার করার কোনও উপায় আছে ?


3
এটি আমার জন্য পর্যবেক্ষিত আচরণ নয়। এটা কি এখনও আপনার জন্য ঘটছে? আপনি কোন সংস্করণ ghcএবং ghc-modব্যবহার করছেন?
— dkasak

3
আপনার কি এমন কোনও স্বয়ংসম্পূর্ণ উদাহরণ রয়েছে (আমদানি অন্তর্ভুক্ত) যা উপরের মতো আউটপুট উত্পন্ন করে? আমি মনে করি সমস্যাটি কী হতে পারে আমার একটি ধারণা আছে তবে কেবল আউটপুট থেকে তা বলা কিছুটা শক্ত ...
— অ্যালেক

উত্তর:


1

আপনি gc-mod থেকে আর্গুমেন্টটি gc- তে পাস করতে পারেন:

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

এটি -dsuppress-module-prefixesজিসিসি-তে যুক্তি প্রেরণ করবে ।


0

আপনি -dsuppress-module-prefixesএকটি জিএইচসি বিকল্প হিসাবে পাস করার চেষ্টা করতে পারেন । এক পর্যায়ে, এটি আমাকে নামগুলিতে মডিউল বাছাইপথ থেকে মুক্তি পেতে সহায়তা করেছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.