यह प्रगति पर है, ध्यान से स्केल को तोड़ने के लिए सावधानी से काम नहीं है जेवीएम और .NET के बीच एक अर्थशास्त्र।
मैं स्केला उपकरण मेलिंग सूची पर वापस इस प्रश्न पूछा 2011 में और जवाब मिगुएल गार्सिया जिसमें उन्होंने बड़ी तस्वीर की रूपरेखा द्वारा दिया जाता है:
(1) क्या Scala.Net पूर्वावलोकन वर्तमान में करता है। जैसा कि आपने देखा है, एरर चरण भी पाइपलाइन के हिस्से के रूप में चलता है। यह पूर्वावलोकन संस्करण का "फीचर" है, एक "फीचर" जिसे शामिल किया जाना था क्योंकि सीएलआर जेनेरिक के लिए समर्थन अभी तक नहीं था (नीचे पर अधिक)। हालांकि, Scala.Net में JVM-style मिरर चलाने के लिए एक बड़ा फायदा है: पर भरोसा करने वाले सभी स्कैला प्रोग्राम, सीएलआर जेनरिक के लिए प्रतीक्षा करने के बजाय स्कैला लाइब्रेरी को पहले से ही संकलित किया जा सकता है। जावा जेडीके पर भरोसा करने वाले उन कार्यक्रमों को भी संकलित किया जा सकता है, जो प्रश्न [1] में जेडीके एपीआई के आईकेवीएम समर्थन के अधीन है।
(2) Scala.Net में सीएलआर जेनेरिक के लिए समर्थन। पर मुख्य प्रेरणा यह मौजूदा असेंबली के साथ अंतःक्रियाशीलता प्राप्त कर रही है। में अंतःक्रियाशीलता प्राप्त करने में, स्केल अर्थशास्त्र से को तोड़ने के लिए देखभाल नहीं की जाएगी। दूसरे शब्दों में, कोई वैध स्कैला प्रोग्राम पर जा रहा है ताकि JVM और .NET पर समान परिणाम चलाए जा सकें। जो प्रगति पर काम करने के लिए हमें लाता है [2]। प्रारंभिक प्रोटोटाइप केवल स्केल के सी # उप-समूह को संभालता है। तो अब मैं बाकी को संबोधित कर रहा हूं। यह की तुलना में अधिक काम है, शुरुआत में अनुमानित है लेकिन पूरी भाषा को कवर करना महत्वपूर्ण है।
विशेष देशी मुद्दों में .NET असेंबली के साथ इंटरऑप के संबंध में कुछ और टिप्पणियां। हां, सीएलआर असेंबली "मूल int" (विभिन्न CPUs पर विभिन्न आकार) का उपयोग करके व्यक्त कर सकते हैं, पी/ सी/फ़ंक्शन द्वारा निर्यात किए गए सी-फ़ंक्शंस। Scala.Net को कम-स्तरीय चालबाजी करने का लक्ष्य नहीं रखता है। "सामान्य भाषा विशिष्टता" के स्तर पर ब्याज की असेंबली इंटरऑपरेबिलिटी है, यानी सामान्यतः किसी भी सी #, वीबी.नेट, आदि कंपाइलर से प्राप्त होता है ("सामान्यतः" यानी "[DllImport]" विशेषताओं और संबंधित सी ++ - isms)।
CLI कल्पना से हवाला देते हुए:
--- उद्धरण शुरू --- आम भाषा विशिष्टता (सीएलएस) - सीएलएस भाषा डिजाइनरों और ढांचे के बीच एक समझौता है डिजाइनरों (अर्थात, वर्ग पुस्तकालय है) । यह सीटीएस (सामान्य टाइप सिस्टम) का एक सबसेट निर्दिष्ट करता है और उपयोग सम्मेलनों का एक सेट निर्दिष्ट करता है। भाषाएं सीएलएस के कम से कम उन हिस्सों को लागू करके ढांचे तक पहुंचने के लिए अपने उपयोगकर्ताओं को सबसे बड़ी क्षमता प्रदान करती हैं जो सीएलएस के भाग हैं। इसी तरह, उनके सार्वजनिक रूप से निर्यात किए गए पहलुओं (उदाहरण के लिए, कक्षाएं, इंटरफेस, विधियां, और फ़ील्ड) केवल सीएलएस का हिस्सा हैं और सीएलएस सम्मेलनों का का पालन करते हैं, तो ढांचे का व्यापक रूप से उपयोग किया जाएगा। --- अंत बोली ---
एम गार्सिया एक संबंधित [लेख] है (http://lampwww.epfl.ch/~ magarcia/ScalaNET/स्लाइड/TourCLRGenerics।पीडीएफ) और [स्टेटस अपडेट] (http://lampwww.epfl.ch/~magarcia/ScalaNET/slides/2011-09-06-GenericsGettingCloser.pdf)। लेकिन कार्यान्वयन के विवरण के साथ इन सौदा; बड़ी तस्वीर प्राप्त करना मुश्किल है। –