Gerbil Scheme – 21वीं सदी के लिए एक Lisp

Gerbil Scheme: विशेषताएँ, इकोसिस्टम, और टूलिंग

  • Gambit-C Scheme पर आधारित, जिसका लक्ष्य R5RS/R7RS, सामान्य SRFI, और Racket से प्रेरित मैक्रो/मॉड्यूल सिस्टम को सपोर्ट करना है।
  • मानक लाइब्रेरी को “maximalist” बताया गया है: इसमें नेटवर्किंग, S3 और WebSocket क्लाइंट, concurrency primitives (coroutines, actors), objects/structs, और वैकल्पिक type annotations शामिल हैं। कुछ libraries का दस्तावेज़ीकरण बहुत अच्छा नहीं है।
  • C के लिए FFI को “reasonably sane” माना गया है, जिससे RxRS-compliant Scheme libraries और native libraries का पुन: उपयोग संभव होता है।
  • टूलिंग “ok” है और विकसित हो रही है: LSP implementation, बेहतर documentation, और performance तथा safety के लिए compile/expand time पर type info का उपयोग करने पर काम चल रहा है।
  • मौजूदा releases reportedly एक pegged Gambit version के साथ आते हैं, इसलिए system Gambit install की आवश्यकता नहीं होनी चाहिए, हालांकि पहले ऐसा हमेशा नहीं था।

इंस्टॉलेशन और रनटाइम अनुभव

  • एक commenter पुराने system Gambit के कारण Gerbil build नहीं कर पाया; दूसरों का कहना है कि Gambit को source से compile करना आसान है।
  • Interactive development क्षमताओं को Gambit के CL-style workflows समर्थन से लाभ मिलता है, संभवतः resumable exceptions सहित (Gerbil के लिए एक लक्ष्य के रूप में उल्लेखित, लेकिन स्पष्ट रूप से पुष्टि नहीं)।

Lisp का प्रसार और “21वीं सदी के लिए Lisp”

  • इस पर बहस कि क्या “yet another Lisp/Scheme” कोई मूल्य जोड़ता है।
    • संदेह करने वालों का तर्क है कि पहले से बहुत सारे Lisps हैं, उनमें से अधिकांश वास्तविक दुनिया की प्रथाओं को नहीं बदलते, और mainstream languages में tooling/ecosystems अक्सर बेहतर होते हैं।
    • समर्थकों का कहना है कि प्रयोग और विविधता Lisp की मूल ताकतें हैं, और “just another RNRS Scheme” के रूप में ईमानदारी, सतही नवीनता से बेहतर है।
  • कुछ लोगों को लगता है कि Lisp और Linux को कम fragmentation से लाभ हो सकता है; अन्य लोग ज़ोर देते हैं कि विविधता और दीर्घकालिक प्रयोग आवश्यक हैं।

वास्तविक उपयोग और इकोसिस्टम संबंधी चिंताएँ

  • संदेह करने वाले Scheme में लिखे गए बड़े, व्यापक रूप से उपयोग होने वाले systems का उदाहरण मांगते हैं; जवाब में Chicken Scheme projects और अन्य Scheme-based apps की ओर संकेत किया जाता है, लेकिन अधिकांश प्रमाण ऐतिहासिक या niche हैं।
  • कुछ programmers बताते हैं कि उन्होंने कई Lisps आज़माए, लेकिन अंततः CL (अक्सर SBCL + SLIME) या Clojure (JVM ecosystem और functional data structures के लिए) पर टिके रहे।
  • नए Lisps में सीधे HTTP/JSON उदाहरणों और अन्य भाषाओं के साथ व्यावहारिक side-by-side comparisons की कमी को लेकर बार-बार निराशा व्यक्त की जाती है।

टूलिंग, Editors, और Onboarding

  • Lisp IDE के लिए Emacs को default मानने पर कड़ा मतभेद है: कुछ इसे शक्तिशाली और मानक मानते हैं; अन्य इसे पुराना समझते हैं और कहते हैं कि नए users को आकर्षित करने के लिए modern, CUA-style editors और GUIs महत्वपूर्ण हैं।