2012-06-14 15 views
13

मैंने एक मॉड्यूल लिखा है और मॉड्यूल आयात किए जाने वाले मुख्य कोड को चलाने के लिए भाषा विस्तार {-# LANGUAGE OverloadedStrings #-} होना चाहिए या पाठ्यक्रम को संकलित किए जाने पर विकल्प देने की आवश्यकता है।क्या भाषा एक्सटेंशन को "छिपाना" संभव है?

यदि मैं मॉड्यूल में {-# LANGUAGE OverloadedStrings #-} शामिल करता हूं तो यह कोई इलाज नहीं है और उपयोगकर्ता को अभी भी उसके कोड में या संकलन के दौरान ऐसा करने की आवश्यकता होगी।

क्या कोई तरीका है कि मैं अंतिम उपयोगकर्ता से इस समस्या को उठाने के लिए वास्तविक मॉड्यूल में "कुछ" कर सकता हूं और इसलिए आवश्यक भाषा विस्तार "छुपा" बोल सकता हूं?

उत्तर

13

नहीं, आपकी लाइब्रेरी उन सुविधाओं को उजागर करती है जिनके लिए भाषा एक्सटेंशन का उपयोग किया जाना आवश्यक है। यह कुछ ऐसा है जो आपको अपने दस्तावेज़ों और उदाहरणों में अवश्य बता देना चाहिए। इसे उपयोगकर्ता कोड पर चालू करने का कोई तरीका नहीं है।

10

ध्यान दें कि -XOverloadedStrings आवश्यक नहीं है। वह विस्तार जो करता है, संक्षेप में बोल रहा है, "I'm a string" से fromString "I'm a string" का अनुवाद करें। एक्सटेंशन के बिना, उपयोगकर्ता हमेशा वही कर सकते हैं।

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