2010-10-21 14 views
19

मेरे पास एरलांग में बहुत सारे कोड लिखे गए हैं, जिन्हें मैं उद्देश्य-सी में लिखे गए अनुप्रयोगों में शामिल करना चाहता हूं, उदाहरण के लिए आईपैड पर। आदर्श रूप में मैं एक ऐसी वस्तु बनाना चाहता हूं जो एरलांग रन-टाइम को समाहित करे; इस तो मानक Erlang खोल, की तर्ज पर कुछ की तरह पहुँचा जा सकता है:एक आवेदन के भीतर एक एम्बेडेड सिस्टम के रूप में Erlang?

ErlangRT *runtime = [[ErlangRT alloc] init]; 
ErlangValue *retval = [runtime execute:@"io:format(\"hello world~n\")"]; 

मैं प्रदर्शन आदि के बारे में बहुत ज्यादा परवाह नहीं है; मैं देख सकता हूं कि यह कैसे काम कर सकता है, लेकिन जैसा कि मुझे एर्लांग वीएम लागू करने के तरीके के बारे में बहुत कुछ पता नहीं है, मुझे नहीं पता कि यह कितना आसान या मुश्किल है, या अगर किसी ने पहले से ही ऐसा कुछ किया है। मुझे पता है कि उद्देश्य-सी और एरलांग के बीच इंटरफेसिंग के अन्य तरीके हैं, लेकिन वे लक्ष्य मशीन पर स्वतंत्र रूप से स्थापित एरलांग सिस्टम मानते हैं। मैं इसे पुस्तकालय की तरह बनना पसंद करूंगा जिसे आप बस एप्लिकेशन के साथ लिंक करते हैं।

तो मेरा सवाल यह है: क्या यह अपेक्षाकृत आसान है, और/या किसी ने पहले से ही इस पर काम किया है?

+2

यहां जाल "वर्चुअल मशीन" है। जबकि टूलिंग पर नियम आराम कर दिया गया है, स्थिर रूप से लिंक कोड की आवश्यकता नहीं है। किसी भी प्रकार की जेआईटीआईंग/कंपाइलिंग/वीएम - ईआरएल, फ्लैश, .NET/मोनो या अन्यथा इस पर फंस गया है। हालांकि मुझे यकीन है कि यह "करने योग्य" है जिसे ईआरएल और रनटाइम का एम्बेडेड वर्जन बनाने के लिए पर्याप्त समय/पैसा दिया गया है जो आईआरएल को एर्लंग स्रोत से लक्षित करता है, आपको ऐपस्टोर में कुछ भी गतिशील रूप से जेनरेट कोड डालने की अनुमति नहीं दी जाएगी। इसके साथ मुझे असंतोष के रूप में संदेह है कि किसी ने इसे पोर्ट करने का कार्य किया है। – stephbu

+0

हम्म मैं अपने शब्दों को थोड़ा खाऊंगा - ऐसा लगता है कि http://sourceforge.net/projects/erlandstaticlib/ उस पथ पर है ... सुनिश्चित नहीं है कि यह किस स्थिति में है। नियम अभी भी खड़े हैं कि ऐपस्टोर में दिखाई देने के लिए केवल स्थिर लिंक कोड हो सकता है। – stephbu

+2

मेरी समझ यह है कि गतिशील रूप से उत्पन्न या डाउनलोड कोड सीमा से बाहर है, जबकि मौजूदा (यानी ऐपस्टोर-वेटेड) एम्बेडेड कोड की व्याख्या करना ठीक है। –

उत्तर

13

हमें आईओएल के लिए अपाचे कोच डीबी के हमारे पैकेज के हिस्से के रूप में आईफोन (और ऐप स्टोर के लिए अनुमोदित) पर काम कर रहा है। Github परियोजना यहाँ है: https://github.com/couchbaselabs/iOS-Couchbase

Erlang उपयोग हम यहाँ है: मोबाइल काउचआधारित पर https://github.com/couchbaselabs/iErl14

और जानकारी: http://www.couchbase.com/products-and-services/mobile-couchbase

का आनंद लें!

क्रिस

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