2010-08-19 10 views
35

जब मैं जीएचसीआई का उपयोग करता हूं, तो मैं लगभग Control.Applicative, Data.List इत्यादि आयात करता हूं। क्या उन मॉड्यूल को स्वचालित रूप से आयात करने के लिए जीएचसीआई को कॉन्फ़िगर करने का कोई तरीका है।जीएचसीआई को स्वचालित रूप से मॉड्यूल आयात करने के लिए कैसे कॉन्फ़िगर करें

इसके अलावा, उन्हें आयात करने के बाद, मैं प्रॉम्प्ट को बहुत लंबे समय से कैसे रखूं?

Prelude Control.Applicative Data.List Database.HDBC Database.HDBC.Sqlite3 System.Directory> 

उत्तर

44

GHCi

  • यूनिक्स सिस्टम पर ~/.ghc/ghci.conf पर इसके विन्यास फ़ाइल के लिए लग रहा है।

  • %APPDATA%\ghc\ghci.conf विंडोज पर।

विन्यास फाइल वाक्य रचना सरल है: यह GHCi की एक सूची स्टार्टअप पर अमल करने के लिए आदेश है।

उदाहरण के लिए, अपने ghci.conf हो सकता है:

import Control.Applicative 
import Data.Char 
import Data.List 

:set prompt "> " 

अंतिम पंक्ति "> " करने के लिए संकेत सेट तो यह सभी मॉड्यूल आप कमांड लाइन पर आयातित नहीं दिखाया जाएगा। , इसके अलावा

GHCi, version 6.12.1: http://www.haskell.org/ghc/ :? for help 
Loading package ghc-prim ... linking ... done. 
Loading package integer-gmp ... linking ... done. 
Loading package base ... linking ... done. 
> toLower <$> "Hello, world!" 
"hello, world!" 
> 

यदि आप यह तय एक GHCi सत्र के बीच में Data.Char नहीं करना चाहते, तो आप इसके साथ निकाल सकते हैं::

अब आप तुरंत काम करने के लिए प्राप्त कर सकते हैं

:m -Data.Char 

और यदि आप यह तय एक सत्र के दौरान कुछ भी लेकिन प्रस्तावना नहीं करना चाहती: होगा

:m 
+0

ऐसा लगता है कि मेरे विन स्थापना पर कोई प्रभाव नहीं पड़ता है। लगता है जैसे ghci.conf पढ़ा नहीं जाता है। विंडोज़ 7 में यह फ़ाइल डिफ़ॉल्ट रूप से – Ghita

+0

नहीं थी: पथ है:% APPDATA% \ रोमिंग \ ghc – miro

+0

@fjordrunner: मेरे सिस्टम पर,% APPDATA% 'C: \ Users \ ja \ AppData \ Roaming' तक फैलता है । –

21

GHC एक lso किसी भी .ghci फ़ाइल को वर्तमान निर्देशिका में पाता है लोड करें। जीएचसीआई के प्रति-परियोजना विन्यास करना बहुत उपयोगी है।

:set -isrc:dist/build/autogen 
:set -hide-package mtl 

पहले वहाँ सुनिश्चित करें कि कबाल द्वारा उत्पन्न मॉड्यूल आयात करने के लिए आसान कर रहे हैं बनाने के लिए है:

यह एक परियोजना से एक उदाहरण मैं पर काम करते हैं। दूसरा छिपा mtl क्योंकि यह विशेष प्रोजेक्ट transformers का उपयोग करता है।

+0

विंडोज में ऐसा करने के लिए आप इसे कैसे प्राप्त करते हैं? मैं एक फ़ाइल ".ghci" नाम नहीं दे सकता, और ऐसा लगता है कि स्थानीय "ghci.conf" फ़ाइल में सेटिंग्स को अनदेखा कर रहा है। – crockeea

+0

मुझे विंडोज़ पर काम करने के लिए '.ghci' फ़ाइल मिली। हालांकि, एक्सप्लोरर मुझे फ़ाइल को '.ghci'' का नाम बदलने नहीं देगा। चारों ओर जाने के 2 तरीके मिले: ** नोटपैड का उपयोग करना: ** 'के रूप में सहेजें' विंडो में -> 'सभी प्रकार की फ़ाइलें (*। *)' में 'प्रकार के रूप में सहेजें' बदलें या यह एक .txt एक्सटेंशन -> नाम जोड़ देगा फ़ाइल '.ghci' और हिट सेव करें ** ** या ** _ ** कमांड प्रॉम्प्ट का उपयोग करना: ** एक्सप्लोरर के साथ हास्केल प्रोजेक्ट के फ़ोल्डर में ब्राउज़ करें -> उस विंडो के पता बार में' cmd' टाइप करें और एंटर दबाएं। यह उस फ़ोल्डर में शुरू होने वाला कमांड प्रॉम्प्ट खुल जाएगा -> 'mv somefile.ghci .ghci' – jhr

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