ghci

2010-10-12 9 views
22

में मॉड्यूल से संबंधित कमांड के लिए पैकेज नाम निर्दिष्ट करना :browse, :load या :module ghci (संस्करण 6.12.1) में मॉड्यूल के लिए पैकेज नाम निर्दिष्ट करने का कोई तरीका है?ghci

कुछ मॉड्यूल नाम अस्पष्ट हैं:

Prelude> :module Control.Monad.Cont 

<no location info>: 
    Ambiguous module name `Control.Monad.Cont': 
     it was found in multiple packages: mtl-1.1.0.2 monads-fd-0.1.0.2 

-hide-package विकल्प केवल एक चीज मैं अस्पष्टता से बचने के लिए कर सकते हैं की स्थापना कर रहा है?

उत्तर

31

जहाँ तक मुझे पता है, हाँ। लेकिन यह एक बड़ी बात होने के लिए नहीं है, तो आप इस के अंदर GHCi कर सकते हैं:

Prelude Data.List> :set -hide-package mtl 
package flags have changed, resetting and loading new packages... 
Prelude> import Control.Monad.Cont 
Prelude Control.Monad.Cont> 

वहाँ भी था कि मुझे लगता है कि पैकेज आयात आदेश पर काम करेगा GHC-7 परिवर्तन लॉग पर लाइन-आइटम रेखा, लेकिन यह अभी तक प्रतीत नहीं होता है (नीचे देखें)। परिवर्तन टिप्पणी ने कुछ कहा "जीएचसीआई में समर्थित पूर्ण आयात वाक्यविन्यास", जो मुझे लगता है कि एक्सटेंशन को बाहर करना होगा।

$ ghci-7.0.0.20100924 -XPackageImports 
GHCi, version 7.0.0.20100924: http://www.haskell.org/ghc/ :? for help 
... 
Prelude Data.List> import "mtl" Control.Monad.Cont 

<no location info>: 
    Ambiguous module name `Control.Monad.Cont': 
     it was found in multiple packages: mtl-1.1.1.0 monads-fd-0.1.0.2 
+1

और जीएचसीआई 7.0.1 7.0.0.20100924 में विफल होने वाली पैकेज आयात लाइन को स्वीकार करने लगता है। –

15

-hide-package विकल्प केवल एक चीज मैं अस्पष्टता से बचने के लिए कर सकते हैं की स्थापना कर रहा है?

आप ghc-pkg का उपयोग कर सकते हैं, उदा।

$ ghc-pkg hide monads-fd 

यह हर बाद ghc मंगलाचरण पर -hide-package स्थापित करने की तरह है। Cabal के माध्यम से monads-fd पर स्पष्ट रूप से संकुल प्रभावित नहीं होंगे, लेकिन बाकी सब कुछ है। ध्यान रहे!

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