ओएस एक्स के लिए सबसे अच्छी योजना या एलआईएसपी कार्यान्वयन क्या है?


86

मैं स्कीम या यहां तक ​​कि LISP के एक संस्करण की तलाश कर रहा हूं जिसका उपयोग मैं कुछ खोए हुए लिस्प विकास कौशल को पुनर्प्राप्त करने के लिए कर सकता हूं। कुछ वेब क्षमताएं अच्छी होंगी लेकिन जरूरी नहीं।

मैंने पीएलटी और एमआईटी योजना को देखा है और जब दोनों बहुत अच्छे दिख रहे हैं, तो लगता है कि पीटीटी अधिक समृद्ध है। मैंने लिस्प कार्यान्वयन को भी देखा है, लेकिन सभी काफी महंगे लगते हैं।

मैं स्वतंत्र / सस्ती कार्यान्वयन का पक्ष लेता हूं क्योंकि यह वास्तव में कभी-कभी शौक प्रोग्रामिंग होने की संभावना है। आपके पास क्या सिफारिशें होंगी?


6
ध्यान दें कि PLT स्कीम ने नाम को रैकेट में बदल दिया है।
भिगोना

दृढ़ता से संबंधित प्रश्न: stackoverflow.com/questions/2485859
pnkfelix

2
इस प्रश्न को बंद क्यों नहीं किया गया है और लगभग सभी लोगों के पास ऐसा है?
एरिक कप्लून

जवाबों:


71

मैं रैकेट के साथ जाऊँगा। यह एसबीसीएल जितना तेज़ नहीं हो सकता है, लेकिन इसमें उत्कृष्ट पुस्तकालय और दस्तावेज हैं, साथ ही एक एकीकृत वातावरण है जो आपको गेट के ठीक बाहर योजना कार्यक्रमों को विकसित करने और चलाने के लिए डिज़ाइन किया गया है। मैं रैकेट की IDE, DrRacket के बारे में वास्तव में क्या पसंद करता हूं, वह यह है कि आपको क्या नहीं करना है - आपको Emacs नहीं सीखना है, आपको SLIME सीखना नहीं है, आपको तीसरे शिकार के बारे में चिंता करने की आवश्यकता नहीं है- पार्टी लाइब्रेरी, जैसा कि रैकेट के लिए लगभग सभी लाइब्रेरी पैकेजों में मिल सकती है । सभी के सभी, यह वास्तव में सीखने की अवस्था में कटौती करता है और आपको हाथ में वास्तविक कार्य पर ध्यान केंद्रित करने की अनुमति देता है: महान कोड लिखना।

इसके अलावा, यह एक वेब सर्वर के साथ आता है यदि आप रैकेट-संचालित वेबसाइट बनाना चाहते हैं (जो मैं वर्तमान में देख रहा हूं)।


1
मैंने कुछ सप्ताह पहले PLT को कम-से-कम बेतरतीब ढंग से चुना है, और अब तक मैं अपनी पसंद से बहुत खुश हूँ। जैसा कि आपने कहा है, बहुत सारे पुस्तकालय और प्रलेखन, कुछ उपयोगी उपकरण।
Slartibartfast

धन्यवाद, उम, कोई नहीं। मैं पीएलटी के साथ जा रहा हूं इसलिए मैं स्पीड से ज्यादा टूल्स और डॉक्यूमेंटेशन पर फोकस कर रहा हूं।
मार्क ब्रिटिंघम

1
ज़रूर। DrScheme को ध्यान में रखते हुए शिक्षा के साथ बनाया गया है, जिसमें कुछ अपसाइड (उपयोग में आसान और प्रलेखित) हैं, लेकिन कुछ डाउनसाइड भी हैं; जब तक आप HtDP ( htdp.org ) से नहीं गुजर रहे हैं, तब तक शिक्षण भाषाओं की उपेक्षा करना और हर चीज के लिए मॉड्यूल का उपयोग करना सबसे अच्छा है।
काइल क्रोनिन

अब रैकेट के नाम के अलावा, अब एक नया पैकेज सिस्टम और पैकेज कैटलॉग है जिसे अब ज्यादातर उपयोग के मामलों के लिए प्लैनेट पर पसंद किया जाता है।
जैक

22

मैंने इसके साथ काफी प्रयोग किए।

क्लोज़र कॉमन लिस्प ( एन ओपन ओपन एमसीएल) अब तक का सबसे तेज़ है; मेरी इंटेल मैक मिनी पर अगले प्रतियोगी की तुलना में 25-30 प्रतिशत तेज।

MIT स्कीम मैक पर काफी अच्छी तरह से काम करती है। मुझे लगता है कि मैंने अंततः इसे खुद संकलित किया, लेकिन उस साइट पर बायनेरिज़ हैं। पीएलटी योजना भी अच्छी है, और संभवतः मैक दुनिया में थोड़ा बेहतर एकीकृत है। (PLT योजना को अब रैकेट के नाम से जाना जाता है , लेकिन मैंने बदलाव के बाद इसका प्रयोग नहीं किया है।)


2
बहुत ज्यादा सब कुछ मैंने इसके साथ कोशिश की; आम तौर पर उन भारी सूची में हेरफेर और loopमैक्रो का भारी उपयोग किया गया है ।
चार्ली मार्टिन

1
कृपया ध्यान दें कि CCL 32-बिट इंटेल पर नहीं चलता है, इसलिए मेरा मैक मिनी इसके लिए थोड़ा पुराना है।
डेविड थॉर्नले

16

मैं क्लोजर, एसबीसीएल और क्लोजर सीएल का बहुत बड़ा प्रशंसक हूं। वे सभी शानदार हैं, लेकिन वे भी ओवरकिल हैं अगर आप करना चाहते हैं तो अपनी लिस्पिंग चोप्स को ताज़ा करें। उन सभी को जानकारी के शिकार, मेलिंग सूची खोज, पैकेज स्थापित करने, irc लर्किंग, आदि की बेतुकी मात्रा की आवश्यकता होती है।

डॉ स्कीम सिर्फ स्थापित करता है और चलाता है। मैंने डॉ। स्कीम का उपयोग करते हुए साढ़े चार साल पहले SICP के पहले 3 अध्यायों को पूरा किया। अपने आप में एक योजना मूल्यांकनकर्ता को परिभाषित करने की तुलना में कुछ भी अधिक गहरा नहीं था। एक बार जब आप अपना सिर इधर-उधर कर लेते हैं तो आपके पास औद्योगिक शक्ति वाले भाइयों के लिए बहुत अधिक धैर्य होगा।


3
वास्तव में मुझे अपने Ubuntu-SBCL-SLIME-stumpwm सेटअप के लिए किसी और चीज की आवश्यकता नहीं थी। शुरुआत के लिए, प्रैक्टिकल कॉमन लिस्प और सीएलएचएस आप सभी की जरूरत है, और यह आपको एक लंबा रास्ता तय करता है।
Svante

15

योजना के लिए, DrRacket कमाल है ( रैकेट में शामिल )।

आम लिस्प के लिए, रेडी लिस्प महान है। SBCL, Aquamacs और कीचड़ के साथ एक एकल dmg बॉक्स से बाहर काम कर रहा है।

वेब साइट से:

रेडी लिस्प कई लोकप्रिय कॉमन लिस्प पैकेजों के साथ-साथ मैक ओएस एक्स के लिए एक बाइंडिंग है, जिसमें शामिल हैं: एक्वामाक्स, एसबीसीएल और एसएल टाइम। डाउनलोड होने के बाद, आपके पास एक एकल एप्लिकेशन बंडल होगा, जिसे आप डबल क्लिक कर सकते हैं - और अपने आप को पूरी तरह से कॉन्फ़िगर किए गए कॉमन लिस्प आरईपीएल में पा सकते हैं।

यह ओएस एक्स उपयोगकर्ताओं के लिए आदर्श है जो कम से कम परेशानी के साथ कॉमन लिस्प की सुंदरता को आज़माना चाहते हैं। इसका उपयोग शिक्षकों द्वारा अपने मैक छात्रों को अपने साथ घर ले जाने के लिए कॉमन लिस्प वातावरण को एक स्वतंत्र, पूरा करने के लिए किया जा सकता है। आवश्यकताएँ

रेडी लिस्प का वर्तमान संस्करण 20090127 है और इसके लिए मैक ओएस एक्स 10.5 (तेंदुआ) की आवश्यकता है।

इसमें निम्न घटक सॉफ़्टवेयर संस्करण शामिल हैं:

Aquamacs  1.6
SBCL    1.0.24
SLIME   2009-01-23
CL-FAD  0.6.2
CL-PPCRE    2.0.1
LOCAL-TIME  0.9.3
SERIES  2.2.10
CL HyperSpec    7.0
paredit.el  20
redshank.el     1
cldoc.el    1.16

5

मैंने अभी क्लोजर के साथ खेलना शुरू किया है । यह स्पष्ट रूप से एक अच्छा वेब फ्रेमवर्क है , और जेवीएम बायटेकोड को संकलित करता है।

मैं DrScheme का भी काफी इस्तेमाल करता हूं । यह एक सरल अभी तक उपयोगी आईडीई है।


5

निर्भर करता है कि आप "लिस्प" को कैसे परिभाषित करते हैं, क्लीजुर बिल को फिट कर सकता है। यह ओएस एक्स फाइन पर चलता है (यह जेवीएम चलाता है कहीं भी)। इसमें वेब क्षमताएं हैं और यह मुफ़्त है।

इसका उपयोग करने के लिए नए और नए और मजेदार होने का लाभ भी है। शौक प्रोग्रामिंग के लिए आदर्श हो सकता है। वेब एप्लिकेशन या GUI ऐप्स (जावा के स्विंग या यहां तक ​​कि Qt का उपयोग करके) लिखना आसान है।


4

मैंने खुद इसका इस्तेमाल नहीं किया है, लेकिन स्टील बैंक कॉमन लिस्प को रेडिट पर कुछ अनुकूल चर्चा मिली है। यह खुला स्रोत है और मुफ्त है तो कीमत कुछ शौक प्रोग्रामिंग के लिए सही है।

अतीत में, मैंने अपने मैकबुक प्रो पर चल रहे जीएनयू कॉमन लिस्प को देखा है।


4

यदि आप स्कीम की तलाश कर रहे हैं तो आप अभी जारी किए गए JazzScheme पर एक नज़र डाल सकते हैं


4

मैं रैकेट को नए-कामर्स के लिए सुझाता हूं, क्योंकि यह योजना के शुरुआती लोगों के लिए सबसे अच्छी आईडीई में से एक प्रदान करता है (या बल्कि, प्रोग्रामिंग शुरुआती जो स्कीम का उपयोग कर रहे हैं, या बेहतर अभी भी, HtDP के माध्यम से अपने तरीके से काम कर रहे हैं)।

http://racket-lang.org/

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

http://www.larcenists.org/


अद्यतन: इसके अलावा, Chez योजना हाल ही में खुली हुई है:

https://github.com/cisco/ChezScheme

(यह लार्सी के रूप में "छोटा" नहीं हो सकता है, लेकिन इसमें बहुत आक्रामक अनुकूलन संकलक है।)


वेब साइट पर, वे केवल एक मूल संकलक, एक सी-सी संकलक, और एक सीएलआर कार्यान्वयन-जहां जेआईटी एक है का उल्लेख करते हैं?
एरिक कप्लून

देशी संकलक है एक JIT।
pnkfelix

(अर्थात, यह डायनेमिक रूप से प्रत्येक स्कीम के एक्सप्रेशन को 'लोड' या REPL के माध्यम से x86 मशीन कोड में संकलित करता है। यहाँ JIT "बस समय में" के लिए है; यह जावा और JVM से असंबंधित है, इस मामले में कि आप क्या हैं सोचा कि मुझे JIT से मतलब है)
pnkfelix

मुझे नहीं लगा कि जावा के साथ ऐसा करने के लिए कुछ भी मिला है; यह सिर्फ इतना है कि होम पेज "देशी मशीन कोड से सीधे संकलित करता है" कहता है , और यह नहीं है कि आमतौर पर जेआईटी-संकलन वीएम / दुभाषियों का वर्णन कैसे किया जाता है।
एरिक कपलुन

1
अपने प्रश्न का उत्तर देने के लिए, आपको वास्तव में लार्सेनी से एक स्टैंडअलोन बाइनरी नहीं मिल सकता है क्योंकि यह अभी खड़ा है। आप अपने योजना स्रोत को लोड कर सकते हैं और फिर उसके ढेर को संकलित कर सकते हैं (संकलित कोड के साथ) एक ढेर छवि के लिए, लेकिन फिर भी आपको अलग-अलग फ़ाइलों के रूप में हीप फ़ाइल और रनटाइम बाइनरी को फिर से वितरित करना होगा। मैंने दोनों को एक ही द्विआधारी छवि में विलय करने के लिए आसान बनाने की कोशिश करने पर विचार किया है, लेकिन कभी नहीं लिया।
pnkfelix

3

आप यह देखना चाहते हैं कि एसोसिएशन ऑफ लिस्प यूजर्स या कॉमन लिस्प विकी में क्या देखने के लिए है। मैंने खुद को स्टील बैंक कॉमन लिस्प और एमएसीएस के साथ स्थापित किया, लेकिन अब तक इसके साथ बहुत कम किया है।


2

यदि आप सिर्फ प्रोग्रामिंग के शौकीन हैं, तो लिस्पवर्क्स का एक स्वतंत्र, व्यक्तिगत संस्करण है जो काफी शक्तिशाली और परिष्कृत है। यह सबसे बड़ी समस्या है कई घंटों की समय सीमा। तो, आप इसमें किसी भी लंबे समय तक चलने वाले सर्वर को नहीं लिखेंगे, लेकिन इसका मतलब यह नहीं है कि यह एक उपयोगी उपकरण नहीं है।

CLISP ज्यादातर सब कुछ पर चलता है, और वास्तव में काफी अच्छा है, यह सिर्फ धागे नहीं करता है। (महत्वपूर्ण यदि आप एक वास्तविक सर्वर लिखना चाहते हैं, लेकिन जैसा कि PHP और पर्ल ने हमें दिखाया है, Apache + [इन्सर्ट भाषा] एक बहुत व्यवहार्य मंच है।)



1

मैं खुद से हाल ही में एक ही सवाल पूछ रहा हूँ। OS X पर DrScheme का उपयोग करने के बाद यह किसी भी मंच के लिए स्कीम वितरण की मेरी पहली पसंद होगी। बहुत अच्छी IDE, डिबगिंग सुविधाएँ और पुस्तकालयों / चौखटों का एक अच्छा सेट (एक बहुत अच्छा GUI टूलकिट जिसमें 'सिर्फ काम करता है ... Mac पर भी ;-)]

हालांकि, मैं अब कॉमन लिस्प के लिए एक समान आरामदायक वातावरण की तलाश कर रहा हूं। यह CCL (OpenMCL) बनाम SBCL पर आ गया। SBCL लोकप्रिय विकल्प लगता है लेकिन मैंने पढ़ा है कि OS X थ्रेडिंग का समर्थन नहीं करता है। (क्या यह वास्तव में एक मुद्दा है?)। दूसरी ओर क्लोज़र सीएल, देशी धागे, ऑकज-ब्रिज आदि के लिए अच्छा समर्थन करता है ...

मुझे सीसीएल थोड़ा अजीब लग रहा है, लेकिन मैं थोड़ी देर के लिए उस पर टिकने जा रहा हूं - यह अभी भी एकीकरण के लिए तार्किक विकल्प की तरह दिखता है।

मैं Emacs 23 का उपयोग करता हूं (एक स्रोत के रूप में निर्मित - with-ns) और कीचड़ के साथ एक पर्यावरण के रूप में और यह मेरे लिए अच्छा काम करता है। :-)


1

मैंने पाया है कि चिकन योजना के लिए अच्छी तरह से काम करता है और होमब्रे के माध्यम से उपलब्ध है।

brew install chicken

SICP का अधिकांश कोड मामूली संशोधनों के साथ काम करता है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.