2011-03-30 15 views
20

क्या रीयल-टाइम एम्बेडेड अनुप्रयोगों के लिए उपयुक्त कोई ओपन सोर्स लिस्प कंपाइलर है? अर्थात। वृद्धिशील कचरा संग्रहण, अनुकूलन स्मृति हैंडलिंग, छोटे पदचिह्न, आदि के साथएम्बेडेड प्लेटफार्मों पर लिस्प

संपादित करें:

स्पष्ट करने के लिए, "संकलक" द्वारा मैं मूल कोड, नहीं बाईटकोड दुभाषिया का मतलब है (हालांकि माइक्रोकंट्रोलर्स के लिए सुझाव दिया व्याख्या कार्यान्वयन के लिए दिलचस्प हैं मैंने जितना संभव सोचा था उससे बहुत छोटा होना!)।

+1

मुझे हर पीएलसी चक्र के अंत में एक बहुत ही छोटे प्लेटफ़ॉर्म (संयुक्त कोड और डेटा स्थान के 64kb) पर एक स्टॉप-द-वर्ल्ड कचरा कलेक्टर चलाने में सफलता मिली है। किसी भी रीयलटाइम सिस्टम में, नियंत्रण/प्रसंस्करण चक्र की अवधारणा होती है, और आप कलेक्टर को प्रत्येक चक्र चला सकते हैं - चाहे एक पूर्ण संग्रह, या एक वृद्धिशील। –

+0

एक पागल और गैर-व्यावहारिक, लेकिन मजेदार सामान जो मैंने किया है: चलिए एक माइक्रोक्रोनरोलर पर लिस्प चलाएं: http://dmitryfrank.com/articles/lisp_on_mcu –

उत्तर

13

कुछ कार्यान्वयन हैं जो सी कोड को संकलित करते हैं, उदा। ईसीएल (एंबेडेबल कॉमन लिस्प)। एक बहुत हालिया library भी है जो Arduino के लिए C++ के उप-समूह में सामान्य लिस्प के उप-समूह को संकलित करता है।

आपने "रीयल-टाइम" का उल्लेख किया है, लेकिन कचरा संग्रह के साथ वास्तविक समय प्राप्त करना मामूली नहीं है। वास्तविक समय कचरा कलेक्टर मौजूद हैं, लेकिन मुझे अभी तक उनका उपयोग करके किसी भी लिस्प कार्यान्वयन से अवगत नहीं है।

+2

"वास्तविक समय" से मेरा मतलब कुछ नहीं है समय-समय पर संवेदनशील लॉक-फ्री कचरा संग्रह की आवश्यकता होती है, लेकिन कॉन्फ़िगर करने की संभावना कितनी बार और कितनी देर तक वृद्धिशील कचरा कलेक्टर को निष्पादित करने की अनुमति है, या आदर्श रूप से इसे मैन्युअल रूप से कॉल करने में सक्षम हो जहां मुझे पता है कि कोड वैसे भी इंतजार कर रहा है। संक्षेप में, समय की अनिश्चित मात्रा के लिए यादृच्छिक रूप से कार्यक्रम को रोकने से कुछ और अनुमान लगाया जा सकता है। :) – absence

17

Picobit और code पर एक नज़र डालें, जो माइक्रोकंट्रोलर के लिए एक योजना है। tinyscheme भी है, लेकिन मुझे नहीं पता कि छोटे प्रोसेसर में एम्बेड करने के लिए यह कितना उपयुक्त है।

7

ओलीओटलो से Hedgehog Lisp भी है, जो एलजीपीएलवी 2.1 के तहत लाइसेंस प्राप्त है, जिसमें मानक लाइब्रेरी बीएसडी के तहत लाइसेंस प्राप्त है।

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