2014-06-11 10 views
12

का उपयोग कर इसे जे एस के लिए एक हास्केल मॉड्यूल ghcjs का उपयोग कर संकलित करने के लिए संभव है? मैंने इसके साथ खेला, लेकिन ऐसा लगता है कि इसे जेएस जेनरेट करने से पहले main फ़ंक्शन को परिभाषित करने की आवश्यकता है। नीचे एक खिलौना कोड:संकलन हास्केल जावास्क्रिप्ट के लिए मॉड्यूल ghcjs

module Test where 

add :: Int -> Int -> Int 
add x y = x + y 

मैं समझ नहीं कैसे ghcjs का उपयोग कर जे एस करने के लिए इसे संकलित करने के लिए। यह मुख्य कार्य परिभाषित नहीं होने पर केवल .hi और .o फ़ाइलों को संकलित करेगा। यदि मैं इसे जेएस (उचित Z-encoded फ़ंक्शन नाम और एक संबंधित जेएस ऑब्जेक्ट के साथ संकलित करने का तरीका समझ सकता हूं, जैसा कि हमारे पास FFI में सी के लिए है), तो मैं unordered-containers और vector जैसे कुछ शक्तिशाली हास्केल लाइब्रेरी का उपयोग कर सकता हूं एल्गोरिदम, जेएस को संकलित करें, और जेएस एफएफआई के माध्यम से Elm में उपयोग करें।

Fay यह करने में सक्षम हो रहा है। मैं पहले ghcjs के लिए इसकी जांच करना चाहूंगा।

+0

आपकी सटीक कमांड लाइन क्या है? –

+0

@ जोचिमब्रेटनर, 'ghcjs test.hs' जहां test.hs कोड से ऊपर है। ghcjs का दावा है कि यह "जावास्क्रिप्ट उत्पन्न कर रहा है" लेकिन मुझे कोई जेएस कोड नहीं दिख रहा है। मैं संस्करण 0.1.0 का उपयोग कर रहा हूँ। – Sal

+0

क्या आपने 'ghcjs -c test.hs' की कोशिश की है? क्या यह बेहतर काम करता है? –

उत्तर

6

मैंने अभी आईआरसी में ghcjs लेखक (लुइट) से पूछा, और उन्होंने कहा, "पुस्तकालय को सीधे निर्यात करने के लिए अभी तक कोई अच्छा तरीका नहीं है।"

वह बहुत, वह क्षमता समर्थन हालांकि में रुचि प्रतीत होता है, तो मैं आशा करती हूं कि, और आशा है कि यह निकट भविष्य में बदल जाएगा। इस समस्या को देखने के लिए जगह the ticket requesting this feature on github है।

+0

लेकिन 2015 अप्रैल के रूप में इसकी स्थिति क्या है? –

+1

टिकट को फरवरी 2015 से अपडेट नहीं किया गया है, और यह अभी भी खुला है, ऐसा लगता है कि यह अभी तक नहीं किया गया है। ghcjs विकास अभी भी बहुत सक्रिय है (अंतिम दिन में काम करता है) इसलिए मैं भविष्य में इस सुविधा को रखने के लिए आशावादी हूं। –

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