1 पॉइंट द्वारा GN⁺ 2024-11-14 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Raku की पाँच अनोखी विशेषताएँ

    • Raku विभिन्न language features के प्रयोग के लिए एक प्रयोगशाला जैसा है। यह कई concurrency models और तरह-तरह की सुविधाएँ देता है, और इन सुविधाओं के आपसी interaction का तरीका भी अनोखा है.
  • Junctions

    • Junctions संभावित मानों के nesting को दर्शाते हैं और logical expressions व्यक्त करने के लिए उपयोग होते हैं.
    • ये सभी मानों पर operations लागू करते हैं और boolean में बदलकर इस्तेमाल किए जाते हैं.
    • Raku junctions के माध्यम से quantifiers को सुरुचिपूर्ण ढंग से व्यक्त करता है.
  • Whatevers

    • * एक "whatever" प्रतीक है जो कई तरह की भूमिकाएँ निभाता है.
    • range या sequence में इसका अर्थ "unbound" होता है, और यह anonymous function में बदल जाता है.
    • कई Raku methods इस तरह overload किए गए हैं कि वे functions ले सकें, इसलिए यह बहुत उपयोगी है.
  • Regular Expressions

    • Raku पारंपरिक POSIX और Perl-compatible regular expressions से अलग एक नया syntax प्रदान करता है.
    • regular expressions को जोड़कर उन्हें अधिक सरल और पढ़ने में आसान हिस्सों में बाँटा जा सकता है.
    • parsing grammar को यह language feature के रूप में मूल रूप से support करता है.
  • Hyperoperators

    • l>>.method मूल रूप से map जैसा है, लेकिन यह nested lists के भीतर तक recursively उतरता है.
    • binary hyper operators दो lists पर element-wise operations लागू करते हैं.
    • कई inputs पर एक ही formula चलाने के लिए यह उपयोगी है.
  • Pair Syntax

    • Raku के hashes key => value pairs से बने होते हैं, और "colon syntax" के जरिए pairs को संक्षेप में लिखा जा सकता है.
    • :key और :!key क्रमशः key => True और key => False में map होते हैं.
    • इससे method settings को बहुत संक्षिप्त रूप में लिखा जा सकता है.
  • अगली पीढ़ी की प्रयोगशाला: Slangs और RakuAST

    • Slangs, Raku syntax को बदलने की सुविधा है, जिससे loop syntax में बदलाव, identifiers का नाम बदलना आदि संभव होता है.
    • RakuAST सभी Raku expressions को Raku के भीतर AST के रूप में parse करने की सुविधा देता है.
  • बोनस प्रयोग

    • Raku "Rakudo Star" installation के जरिए preinstalled third-party modules का एक सेट उपलब्ध कराता है.
    • यह बड़े standard library के maintenance burden और उपयोगकर्ताओं पर सही package खोजने के burden के बीच एक बेहतरीन समझौता है.
  • ब्लॉग सिफारिशें

    • Elizabeth Mattijsen और Codesections के ब्लॉग Raku के internals पर बहुत-सी जानकारी देते हैं.
    • Raku Advent Calendar उन्नत Raku techniques के लिए एक उत्कृष्ट संसाधन है.

1 टिप्पणियां

 
GN⁺ 2024-11-14
Hacker News राय
  • JavaScript में स्वतंत्र रूप से implement किए गए composable regular expression फ़ीचर का परिचय दिया गया है, और यह कई projects में अक्सर इस्तेमाल होने वाली library है। यह फ़ीचर भाषा के भीतर first-class parser इस्तेमाल करने के एहसास के थोड़ा और करीब ले जाता है। उदाहरण के तौर पर media type parsing को implement करने का मामला साझा किया गया है

    • templated-regular-expression npm और GitHub पर उपलब्ध है
    • programming languages में वास्तविक parser होने चाहिए, और regular expressions को parser की तरह इस्तेमाल नहीं करना चाहिए। लेकिन अगर regular expressions का उपयोग करें, तो उन्हें छोटे हिस्सों में बाँटना बेहतर है
  • ऐसी राय है कि Raku codebase का maintenance करने से पहले ही industry छोड़ देना चाहेंगे

  • Raku की speed समस्या अब भी हल नहीं हुई है, और नवीनतम Raku को log files parse करने में Python 3.13 से 6.5 गुना अधिक समय लगता है

  • Raku की मुख्य ताकतें CLI और grammar हैं

    • CLI एक सामान्य सुविधा है, और Raku में built-in होने के कारण इस्तेमाल करने में अच्छा है
    • grammar को programming languages में "first-class citizen" की तरह माना जाना दुर्लभ है, और यह object-oriented programming का उपयोग करके grammar बनाने की क्षमता देता है
  • Hyper recursive schemes के अधिक ad-hoc version जैसा दिखता है, और Scala के _ के समान है। lambda के लिए Scala पसंद है और लगता है कि सभी languages को ऐसा कुछ अपनाना चाहिए

  • (2, 30, 4, 50).map(* + *) (32, 45) लौटाता है, और इस पर सवाल उठता है कि क्या इसे (32, 54) लौटाना चाहिए। यह कुछ देशों में संख्याएँ व्यक्त करने के तरीके के अंतर की वजह से हो सकता है

  • ऐसी राय है कि क्या Perl अब APL-परिवार की भाषाओं के लिए gateway की भूमिका निभा रहा है

  • (2,4,8...*)[17] के 262144 लौटाने पर आश्चर्य व्यक्त किया गया है

  • Raku को production environment में इस्तेमाल किया जा रहा है, और इसे text processing के लिए सबसे उपयुक्त language माना जाता है। parser बनाना बहुत अच्छा है, और यह हैरानी की बात है that LLM text pipelines बनाने के लिए यह सबसे उपयुक्त language नहीं है

  • इस project को लंबे समय से देखा जा रहा है; यह दिलचस्प है, लेकिन यह अफसोसजनक है कि Perl 6 इस project की वजह से काफी बाधित हुआ