2009-08-03 16 views
7

मुझे ग्रहण एफपी और हास्केल के साथ "हैलो वर्ल्ड" प्राप्त करने में परेशानी हो रही है।हास्केल हैलो वर्ल्ड, ग्रहण आईडीई

मैं निम्नलिखित कोड,

module Main where 
    main = putStr "Hello world!" 

और जब मैं यह

ghc.exe .\H1.hs -o hw.exe 

यह ठीक काम करता है, लेकिन eclipseFP के तहत, जब मैं इसे चलाने मैं केवल कंसोल में निम्न देखें साथ संकलन खिड़की:

GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help 
Loading package ghc-prim ... linking ... done. 
Loading package integer ... linking ... done. 
Loading package base ... linking ... done. 
Ok, modules loaded: Main. 
Prelude Main> 

मैं कौन सी गलतियों को बना रहा हूं?

उत्तर

3

ईक्लीप्सएफपी के बारे में मैंने जो कुछ देखा है, यह केवल जीएचसीआई के लिए एक इंटरफ़ेस है। जिसका अर्थ है, जहां तक ​​मेरा संबंध है, इसका उपयोग करने का कोई कारण नहीं है, क्योंकि आपको एक्लिप्स (ब्लोट, स्मृति के लिए तलहटी प्यास, कछुआ-पर-sedatives गति) के सभी बुरे मिलते हैं, बिल्कुल कोई भी नहीं अच्छा (अनुक्रमण, डीबगर, आपके टूल स्टैक का प्रबंधन)।

तो आपने क्या नोब गलती की? आपने ग्रहण का उपयोग किया। यह ठीक है - बनाने के लिए एक आसान गलती। यदि आप स्कैला सीख रहे थे, ग्रहण शायद जाने का रास्ता हो सकता है। लेकिन हास्केल के साथ, आप कमांड लाइन से जीएचसीआई चलाने और नोटपैड ++ जैसे संपादक का उपयोग कर बेहतर हैं (जिसमें सभ्य सिंटैक्स हाइलाइटिंग है)। एक बार के लिए, कमांड लाइन/संपादक संयोजन बेहतर नहीं है क्योंकि यह माचो है, लेकिन क्योंकि यह अधिक उपयोगी है।

यदि आपके पास बिल्कुल एक आईडीई होना चाहिए, तो पिकिंग अभी कुछ हैं, लेकिन यहां मुझे जो मिला है।

Leksah
WinGHCi

और निश्चित रूप से, किसी भी this question.

मैं इसे इस्तेमाल नहीं किया है के जवाब में पाया है, लेकिन Leksah आज तक का सबसे सुविधा संपन्न आईडीई हो रहा है। निजी तौर पर, मैं नोटपैड ++ और कमांड लाइन के साथ चिपक रहा हूं।

+8

-1: आपने प्रश्न का उत्तर नहीं दिया। ग्रहण या कोई ग्रहण, समाधान वही होगा, जैसा कि अन्य उत्तरों का वर्णन है। –

+0

@ जोर्जन: ठीक है, ओपी मेरे जवाब की सराहना करता था, इसलिए मैं नमक के अनाज के साथ आपकी किबबिट्जिंग ले जाऊंगा। लेकिन मुझे नहीं लगता कि यह प्लगइन की उपयोगिता पर सवाल उठाने के लिए लाइन से बाहर है जो निष्पादन योग्य चलाने में सक्षम नहीं है * जब ऐसा करने के लिए कहा जाता है *। ग्रहण यहां बहुत अधिक मुद्दा है। – rtperson

+0

बस EclipseFP में यह कोशिश की। अगर मैं इसे हास्केल प्रोग्राम के रूप में चलाने के लिए कहता हूं तो यह स्ट्रिंग चलाता है और प्रिंट करता है। अगर मैं इसे ghci के रूप में चलाता हूं तो यह ghci में लोड होता है। यह अपेक्षा की जाती है। समस्या ग्रहण में नहीं ghci में चलने के साथ है। –

4

कभी ग्रहण नहीं किया गया लेकिन आप जो देखते हैं वह ghci है, जीएचसीआई जीएचसी का इंटरैक्टिव वातावरण है। आपका मॉड्यूल ghci में सफलतापूर्वक लोड किया गया था, आप अपने प्रोग्राम के फ़ंक्शन मुख्य को चलाने के लिए ghci में मुख्य टाइप कर सकते हैं, वास्तव में आप इस तरह अपने प्रोग्राम के किसी भी फ़ंक्शन को कॉल कर सकते हैं।

12

मैंने वर्षों में एक्लिप्ससेपी का उपयोग नहीं किया है, इसलिए इसे ध्यान में रखें।

ऐसा प्रतीत होता है कि EclipseFP कंसोल में जीएचसीआई लोड कर रहा है। जीएचसीआई एक इंटरेक्टिव हास्केल खोल है, जिसमें आप सरल अभिव्यक्तियों का मूल्यांकन कर सकते हैं। यह स्पष्ट रूप से आपके मॉड्यूल Main को लोड करता है, ताकि आप अपने मॉड्यूल में फ़ंक्शन कॉल करने के लिए जीएचसीआई का उपयोग कर सकें।

यदि आप कंसोल में :main टाइप करते हैं, तो यह आपको प्रोग्राम चलाएगा और "हैलो वर्ल्ड!" प्रिंट करेगा, आप अपने प्रोग्राम या मानक हास्केल फ़ंक्शंस में परिभाषित अन्य कार्यों को भी कॉल कर सकते हैं।

हालांकि, आप जो करना चाहते हैं वह आपके प्रोग्राम को निष्पादित करने के लिए एक्लिप्ससेपी सेट करना है, और मुझे याद नहीं है कि यह कैसे करना है, शायद "रन" मेनू में कहीं भी।

+3

मुझे लगता है कि यह कॉलन – yairchu

+12

के बिना "मुख्य" है टाइपिंग 'मुख्य' बस मुख्य कार्य (जो काम करेगा) को कॉल करेगा। हालांकि, टाइपिंग ': मुख्य' आपको उन तर्कों को पारित करने की अनुमति देता है जिन्हें 'getArgs' के साथ पढ़ा जा सकता है, अक्सर कमांडलाइन प्रोग्राम के लिए उपयोगी होता है। –

+0

लॉन्च पर एप्लिकेशन को स्वचालित रूप से चलाने के तरीके को देखने के लिए http://stackoverflow.com/a/4427689/750216 देखें। –

4

ग्रहण रन मेनू में, रन कॉन्फ़िगरेशन का चयन करें। ऑटोमेशन टैब के तहत लॉन्च पर चलाने के लिए कमांड में मुख्य दर्ज करें और यह वही करेगा जो आप उम्मीद करते हैं।

6

प्रोजेक्ट एक्सप्लोरर में अपनी प्रोजेक्ट पर क्लिक करें और फिर दायां माउस बटन क्लिक करें और Run As > Run Configurations > Run As Haskell Application चुनें।

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