2010-10-19 13 views

उत्तर

67
किसी भी लिस्प बोली की तरह

हो सकता है, Clojure एपीआई और डीएसएल और इसलिए अवधि एक ही जादू है कि यह में करता है नहीं रखता है के बीच एक बहुत ही अस्पष्ट रेखा खींचता है अन्य भाषाएँ। लिस्प प्रोग्रामर अपने कार्यक्रमों को डीएसएल की परतों के रूप में लिखते हैं, प्रत्येक परत इसके ऊपर की सेवा करता है। करने के बाद कहा कि, यहाँ कुछ है कि आप प्रदर्शन गैर तुच्छ (किसी विशेष क्रम में) डीएसएल सत्ता के स्तर को कह सकते हैं कर रहे हैं:

  • Enlive (एचटीएमएल templating)
  • LazyTest (इकाई परीक्षण)
  • fnparse (पार्सर जेनरेटर)
  • Midje (परीक्षण & मजाक)
  • byte-spec (बाइनरी-प्रारूपों)
  • Vijual (ग्राफ लेआउट)
  • Trammel (बाधा प्रोग्रामिंग)
  • Cascalog (Hadoop डब्ल्यू/DATALOG वाक्य रचना)
  • Incanter (आर-तरह पर्यावरण)
  • Sandbar (एचटीएमएल सत्र, रूपों, प्रमाणन)
  • ClojureQL (SQL)
  • mini-kanren (एम्बेडेड तर्क प्रोग्रामिंग)
  • Leiningen (निर्माण उपकरण)
  • +०१२३५१६४१०
  • sexpbot (प्लगइन मेहराब के साथ आईआरसी बॉट)
+2

ओह वाह! धन्यवाद डेविड। – fogus

+1

ग्रेट लिस्ट! कोई भी डीएसएल – Jonas

+0

होने के लिए लीनिंगन पर विचार कर सकता है, जबकि यह निश्चित रूप से डीएसएल का 'अच्छा' उदाहरण नहीं हो सकता है, लेकिन मेरा आईआरसी बॉट का डिफ्लुगिन मैक्रो सेक्सबॉट प्लगइन बनाने के लिए एक डीएसएल है। आप src/sexpbot/plugins में उपयोग में इसका उदाहरण पा सकते हैं और src/sexpbot/respond.clj में वास्तविक कार्यान्वयन। यदि आप चाहें तो इसे सूची में जोड़ सकते हैं। मैं इसे जोड़ने के लिए सिर्फ एक नया नया उत्तर नहीं बनाना चाहता, क्योंकि आपका बहुत अच्छा है। – Rayne

7

Clojure, थोड़ा पुराने में SQL DSL लेकिन एक प्रदर्शन

+2

यह एक प्रभावशाली है। यह मुझे इस भाषा के महत्व की ओर इशारा करता है ... –

+0

लिंक बदल गया है। – nha

+0

archive.org को इंगित करने के लिए निश्चित लिंक –

3

कैसे Enlive के निर्माता द्वारा 2010 clojure-संयोजक सम्मेलन से clojure का उपयोग कर DSLs का निर्माण करने के बारे में सोच पर एक उपयोगी बात, क्रिस्टोफ़ ग्रांड: http://blip.tv/clojure/christophe-grand-not-dsl-macros-4540700 (स्लाइड here कर रहे हैं) ।

मैं डीएसएल डिज़ाइन के डोमेन के रूप में Ring के डिज़ाइन को भी गिनता हूं। रिंग के निर्माता, मार्क मैकग्रागन द्वारा बातचीत देखें: http://clojure.blip.tv/clojure/mark-mcgranaghan-one-ring-to-bind-them-4724955 (slides)

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