2012-01-09 12 views
10

मैं हाल ही में ghcjs हैकेल-टू-जावास्क्रिप्ट कंपाइलर में आया हूं, लेकिन मुझे यकीन नहीं है कि यह "तैयार" कैसे है। ऐसा लगता है कि पिछले साल की तुलना में कम गतिविधि है।हास्केल जावास्क्रिप्ट कंपाइलर्स के लिए?

क्या हैस्केल में जीडब्ल्यूटी के बराबर है?

इसके अलावा, एक अधिक चर्चा प्रश्न: क्या आपको लगता है कि एक gwt हैकेल समकक्ष होगा? क्यों या क्यों नहीं?

+1

मैं ghcjs की खोज करते समय बस इस पर आया। एक नया रेपो है: https://github.com/ghcjs/ghcjs – Nathan

उत्तर

6

Ji प्रासंगिक लगता है, हालांकि यह किसी भी हास्केल-टू-जेएस संकलन नहीं करता है; यह एक Haskell सर्वर AJAX के माध्यम से उससे जुड़े ब्राउज़र को नियंत्रित करने देता है।

ऐसा लगता है UHCcompiling to JavaScript का समर्थन करता है की तरह है और कुछ libraries along those lines है, लेकिन मैं नहीं जानता कि क्या GHC एक्सटेंशन के साथ UHC की अनुकूलता की तरह है, या कैसे परिपक्व समर्थन है।

मुझे विश्वास नहीं है कि जावास्क्रिप्ट में पूर्ण हास्केल संकलित करना एक उत्पादक मार्ग है; एक उच्च स्तरीय भाषा के शीर्ष पर आलसी मूल्यांकन की पसंद को लागू करने के उपरांत महत्वपूर्ण होने की संभावना है, और सभी attempts so far (मैंने यूएचसी के जेनरेट कोड को चेक नहीं किया है) बल्कि बड़ी जावास्क्रिप्ट उत्पन्न करने लगते हैं (माना जाता है कि HTTP संपीड़न कम हो जाता है इस)।

मुझे नहीं लगता कि ghcjs सक्रिय रूप से विकसित किया जा रहा है, लेकिन यह यूएचसी के समर्थन से अधिक स्थिर हो सकता है। Yhc का समर्थन अभी तक सबसे दूर प्रतीत होता है, लेकिन दुर्भाग्यवश Yhc एक मृत परियोजना है।

+0

वाह, यह आश्चर्यजनक है! जी, वह है। यदि वहां एक टेम्पलेटिंग इंजन था, और कुछ प्रकार के यूआरएल रूटिंग में यह बेहद दुष्ट होगा। दुनिया में यह ब्राउज़र को "नियंत्रण" कैसे करता है? मैंने सोचा कि एकमात्र तरीका AJAX के माध्यम से था! – drozzy

+0

@drozzy: AJAX के माध्यम से, जैसा कि मैंने कहा :) – ehird

+0

ओह, मैंने अभी देखा कि छोटी जेएस फ़ाइल छिपी हुई है! हाहा, चालाक। – drozzy

8

ऐसे कई कंपाइलर हैं जिनका उपयोग तुरंत किया जा सकता है।

  • फे (पूर्व http://fay-lang.org/ पर, अब https://github.com/faylang/fay पर) सबसे लोकप्रिय और सबसे विकसित हास्केल -> जे एस संकलक। AFAIU, यह स्क्रैच से हास्केल लागू करता है और इसे जावास्क्रिप्ट में संकलित करता है। यह कई जीएचसी की विशेषताओं, विशेष रूप से भाषा एक्सटेंशन को लागू नहीं करता है।
  • जल्दबाजी (https://github.com/valderman/haste-compiler) यह जावास्क्रिप्ट को संकलित करने के लिए जीएचसी के बैकएंड का उपयोग करता है। नतीजतन आप कोड युक्त एक्सटेंशन संकलित करने के लिए इसका उपयोग कर सकते हैं।
+0

मैंने [दोनों की बहुत संक्षिप्त तुलना] की है [https://www.joachim-breitner.de/blog/archives/602-Running-Circle-Packing-in-the-Browser-using-Haste.html)। –

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