2009-11-11 6 views
15

Clojure ने मुझे लिस्प वाक्यविन्यास की अवधारणा के साथ पेश किया है, और मुझे रूचि है, लेकिन क्लोजर प्रतिलिपि स्थापित करने और इसे विभिन्न मशीनों पर उपयोग करने का दर्द है। वास्तव में ऑन-द-फ्लाई परीक्षण और लिस्प वाक्यविन्यास के साथ खेलने के लिए वहां अन्य संसाधन क्या हैं?लिस्प वाक्यविन्यास का प्रयास करने और परीक्षण करने के आसान तरीके?

मैं ऐसी वेबसाइट की तरह कुछ कल्पना कर रहा हूं जहां आप प्राथमिक कोड, या ब्राउज़र ऐड-ऑन इनपुट कर सकते हैं, या यहां तक ​​कि केवल एक स्टैंडअलोन एप्लिकेशन जो आपको लिस्प के माध्यम से ले जाता है (जो कुछ लिनक्स/उबंटू पर चलता है)।

मुझे एक साधारण/सुलभ रूप में आरंभ शुरू करने के लिए ऐसा कुछ खोजने के लिए नहीं कर पाए हैं।

उत्तर

11

SISC Online REPL आपको क्या चाहिए वास्तव में है। यह स्कीम सिंटैक्स स्वीकार करता है, जो लिस्प का एक रूप है।

स्टैंडअलोन ऐप्स के लिए मैं PLT Scheme चाहते, क्योंकि यह हर मंच मैं कोशिश की है पर एक ही काम करने के लिए लगता है। मैं पहले उबंटू पर एमआईटी योजना का उपयोग कर रहा था, लेकिन जब मैंने 64-बिट विस्टा के साथ एक नई मशीन खरीदी तो स्विच करने का फैसला किया।

+0

ओह इतना तो पूरी तरह चट्टानों! बहुत बढ़िया! –

+0

हम्म, जावा एप्लेट जो चलता है वह सिर्फ मेरे लिए काम नहीं करता है। ऐसा लगता है कि मैं जिस तरह की चीज़ ढूंढ रहा था, लेकिन यह वास्तव में एफएफ या क्रोम में काम नहीं करता है। बहुत बुरा, मुझे यह देखने के लिए चारों ओर देखना होगा कि काम करने के लिए कोई कामकाज है या नहीं। – Kzqai

+1

@Tchalvak: अजीब। यह अभी मेरे लिए Vista पर एफएफ में काम कर रहा है। –

5

मैंने पहले भी LispBox का उपयोग किया है। स्थापित करने और जाने के लिए आसान है, लेकिन मुझे यह मानना ​​है कि Emacs मेरे लिए दूसरी प्रकृति है। यदि आप इससे अपरिचित हैं, तो आप किसी अन्य संपादक का उपयोग कर सकते हैं, लेकिन Emacs के साथ घनिष्ठ होने से आपको लिस्पविले में आराम से रहने में मदद मिलेगी।

+0

हाँ, Emacs प्रक्रिया के लिए एक ठोकरें ब्लॉक में से एक है। अगर मैं lisp में मिलता है, मैं emacs में मिल जाएगा, लेकिन मैं अपने समय को lisp से निपटने से पहले emacs के साथ गड़बड़ नहीं करना चाहता। मैं इसे आजमाएं, – Kzqai

+1

जब मैंने कुछ समय पहले लिस्प को सीखने का फैसला किया, मुझे एहसास हुआ कि मुझे एमाक्स को जानने की ज़रूरत है। मैंने इमाक्स सीखना समाप्त कर दिया, और इस पर इतना समय बिताए जाने के बाद, मुझे लिस्प सीखने का समय कभी नहीं मिला। .. –

1

मैं एक संपादक है कि क्या Emacs निम्न कॉन्फ़िगरेशन के साथ क्या करेंगे बिना लिस्प कोड को संपादित नहीं होगा:

(define-key lisp-mode-shared-map "[" 'insert-parentheses) 
(define-key lisp-mode-shared-map "]" 'move-past-close-and-reindent) 

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

उत्तरार्द्ध को समझाना मुश्किल है, क्योंकि इसका उपयोग अक्सर कम होता है। यह एक प्रविष्टि कमांड की तुलना में एक नेविगेशन कमांड है। यह पुष्टि करता है कि आप वर्तमान फॉर्म को संपादित कर चुके हैं और अगले संभावित सम्मिलन की तैयारी कर कर्सर को ऊपर, बाहर और पिछले स्थानांतरित कर सकते हैं।

इन कुंजियों बाध्य के साथ, एक नहीं रह गया है कोष्ठकों का उपयोग करने के लिए Shift कुंजी का उपयोग करने की जरूरत है। इसके अलावा, यह कोष्ठक कुंजी सामान्य के रूप में बाध्य करता है, क्योंकि जब लिंग की मरम्मत या शाब्दिक कोष्ठक चरित्र की आवश्यकता होती है। मैंने ब्रैकेट कुंजी चुरा ली क्योंकि उन्हें इमाक्स लिस्प और कॉमन लिस्प में इतनी बार उपयोग किया जाता है। ब्रैकेट पात्रों अभी भी मेटा कुंजी बाइंडिंग के साथ सुलभ हैं:

(defmacro make-key-inserter (def) 
    "Substitute for `self-insert-command'." 
    `(lambda (arg) 
    (interactive "*P") 
    (insert-char ,def (prefix-numeric-value arg)))) 

(define-key lisp-mode-shared-map "\M-[" (make-key-inserter ?\[)) 
(define-key lisp-mode-shared-map "\M-]" (make-key-inserter ?\])) 

यह Emacs उपयोग करने के लिए आवश्यक नहीं है, लेकिन एक और संपादक कि कम से कम इस क्षमता नहीं मिलान कर सकते हैं के साथ कम के लिए समझौता नहीं है। एक पेड़ के रूप में sexp पेड़ नेविगेट करने और छेड़छाड़ करने के लिए आदेशों का पूरा परिवार भी है। यह समझना कि क्यों मूल्यवान है, आपको थोड़ी देर तक घूमने की आवश्यकता होगी जब तक कि आप सिंटैक्स को देखना बंद कर दें और पेड़ को देखना शुरू करें।

+0

अनिवार्य रूप से मेरी समस्या यह है कि मुझे भाषा/वाक्यविन्यास में प्रवेश करने की आवश्यकता है। मैं सामान्य रूप से लिस्प के बारे में प्रचार करने के बाद Emacs से जुड़ने के लाभ देख सकता हूं, लेकिन सीखना/स्थापित करना/emacs स्थापित किया गया है रास्ते में बहुत अधिक ओवरहेड है। – Kzqai

+0

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

+0

अभी, मैं प्रभावी रूप से केवल वाक्यविन्यास हाइलाइटिंग के लाभ के साथ php में प्रोग्राम करता हूं। मुझे एक लिस्प संपादक से अधिक (शायद ऑटो इंडेंटिंग) की आवश्यकता नहीं है। कम से कम पहले। फिर भी, मैं इस प्रविष्टि को संभावित सामान के बाद ध्यान में रखूंगा। – Kzqai

8

खोने के जोखिम पर मेरे 0 अंकों के सभी, newlisp आज़माएं।

+0

मानक इंस्टॉलर, मैक/विंडोज/लिनक्स पर काम करता है, स्क्रिप्टिंग के लिए तैयार है। क्या पसंद नहीं करना? – mcandre

+0

यह सामान्य लिस्प वाक्यविन्यास से अलग है। एक सही समाधान नहीं है। – Shmukers

1

जब से तुम Ubuntu का उपयोग कर रहे, मैं सिर्फ संकुल के कुछ स्थापित करने और उन्हें आजमाइए चाहते हैं।

कॉमन लिस्प: apt-get install clisp
योजना: apt-get install drscheme

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

2

लिस्प को सीखने के लिए लिस्पॉर्क्स व्यक्तिगत संस्करण ठीक है: LispWorks downloads। मैक ओएस एक्स, विंडोज, लिनक्स और फ्रीबीएसडी के लिए संस्करण हैं। सभी में एक ही उपयोगकर्ता इंटरफ़ेस क्षमताएं हैं और इसमें एक संपादक और श्रोता शामिल हैं - साथ ही कई अन्य टूल भी शामिल हैं। वर्तमान में लिनक्स और फ्रीबीएसडी पर (लिस्पॉर्क्स 5) जीयूआई के लिए एक्स 11/मोटीफ का उपयोग करता है - यह भविष्य के संस्करण (लिस्पॉर्क्स 6) में जीटीके में बदल जाएगा। तो इसे अब लिनक्स के तहत चलाने के लिए, आपको मोटीफ lib स्थापित होना चाहिए। इसका उपयोग करने के अलावा अपेक्षाकृत दर्द रहित है। इसमें कुछ प्रतिबंध हैं (केवल 5 घंटे रनटाइम, फिर आपको सहेजने और पुनरारंभ करने की आवश्यकता है ...) और पूर्ण संस्करण वाणिज्यिक है। लेकिन कुछ लिस्प मूल बातें सीखने के लिए, यह काफी अच्छा है।

2

फ्रांज के पास एलेग्रो कॉमन लिस्प के लिए एक ऑनलाइन आरईपीएल है।

http://www.franz.com/products/allegrocl/prompt/

+0

प्रोफेसर ल्यूक ने मुझे स्कूल में इसका इस्तेमाल किया! हाँ! एआई कक्षा यादें! – beggs

+1

:(फ्रांज ने ऑनलाइन आरईपीएल गिरा दिया। – mcandre

1

BioBike एक पूर्ण कॉमन लिस्प (एक ज्ञान के प्रतिनिधित्व प्रणाली, biocomputing, और साथ ही एक वैकल्पिक दृश्य भाषा के जैसे अतिरिक्त के साथ) वेब के माध्यम से मूल्यांकनकर्ता प्रदान करता है।

5

आजकल क्लोजर आरईपीएल में जाना मुश्किल नहीं है।

  1. http://build.clojure.org/ पर जाएं और clojure.jar डाउनलोड करें।
  2. एक जेवीएम स्थापित करें।
  3. java -jar clojure.jar

यह किसी भी मशीन एक JVM स्थापित है पर काम करना चाहिए।

अधिक मज़ा के लिए, rlwrap स्थापित करने और rlwrap java -jar clojure का उपयोग करें।

+0

हां, आपको यहां देखकर फैंसी। आपकी ब्लॉग पोस्ट क्लोजर में शामिल होने के बारे में मुझे क्या बना रही है। – Kzqai

+0

*** क्लोजर में शामिल होने वाली चीज़ों के बारे में सोचें। – Kzqai

+0

बहुत बढ़िया! आशा है कि आप इसके साथ रहें, क्लोजर मजेदार है। –

1

यदि आप बस LISP के साथ खेलना चाहते हैं, तो इंटरैक्टिव रूप से, जल्दी से, जीएनयू एमएक्स के पास एक एलआईएसपी दुभाषिया है, और *scratch* बफर में सुन रहा है। एक एस-अभिव्यक्ति टाइप करें, इसके तुरंत बाद स्थिति, और फिर इसका मूल्यांकन करने के लिए Ctrl-J दबाएं। या <ESC>: एक Eval डाल देगा: मिनीबफर में प्रॉम्प्ट, एक एस-अभिव्यक्ति स्वीकार करें, और इसका मूल्यांकन करें।

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

2

codepad.org कोड दर्ज करने और चलाने के लिए एक आसान सरल तरीका है (योजना सहित कई अलग-अलग भाषाओं में)। मैं SO उत्तरों में उपयोग करने के लिए कोड के स्निपेट का परीक्षण करने के लिए हर समय इसका उपयोग करता हूं।

+0

मुझे बहुत कम भाषा परीक्षणों के लिए बहुत अच्छा लगता है। – Kzqai

0

https://github.com/fogus/himera
एक https://www.nitrous.io आभासी बॉक्स पर सेटअप करने के लिए मेरे लिए बहुत आसान था। एक अच्छा वेब इंटरफ़ेस बनाता है।

क्लोजर-1.6.0 डाउनलोड और चला रहा है।मेरी विंडोज़ (एक्सपी) बॉक्स पर जार आरपीएल चलाने के लिए इस स्क्रिप्ट का उपयोग करने जितना आसान था:

java -cp clojure-1.6.0.jar clojure.main 
संबंधित मुद्दे