2 पॉइंट द्वारा GN⁺ 2024-11-02 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Hazel

  • Hazel एक live functional programming environment है, जो typed holes वाले अधूरे प्रोग्रामों को type check, manipulate और run कर सकता है
  • अर्थहीन editor state मौजूद नहीं होती

प्रेरणा

  • प्रोग्रामिंग करते समय, खाली जगहों, type errors, merge conflicts आदि के कारण औपचारिक रूप से अपूर्ण program text के साथ काम करने में बहुत समय लगता है
  • मौजूदा programming language definitions ऐसी संरचनाओं को औपचारिक अर्थ नहीं देतीं
  • program editors और tools को जटिल अस्थायी उपायों पर निर्भर रहना पड़ता है
  • Hazel type theory के आधार पर अधूरे प्रोग्रामों को model करता है

Hazel की विशेषताएँ

  • Elm/ML जैसी functional programming language, जिसे web-based environment में लागू किया गया है
  • अधूरे प्रोग्राम भी static और dynamic दोनों रूप से अच्छी तरह परिभाषित हैं
  • इसे research और education platform के रूप में उपयोग किया जा सकता है

समाचार और प्रकाशन

  • जनवरी 2025: POPL 2025 में Grove paper को conditional acceptance मिला
  • अक्टूबर 2024: OOPSLA 2024 में large language models और typed holes को मिलाने वाला शोध प्रस्तुत किया गया
  • अक्टूबर 2024: HATRA 2024 में Cyrus का keynote speech निर्धारित
  • सितंबर 2024: NSF ने classroom proof assistant tools के विकास के लिए research grant प्रदान किया
  • जनवरी 2024: POPL 2024 में error localization और recovery पर paper प्रस्तुत किया गया
  • अक्टूबर 2023: OOPSLA 2023 में pattern matching पर शोध प्रस्तुत किया गया
  • जनवरी 2023: NSF CAREER award प्राप्त

टीम Hazel

  • Hazel, University of Michigan की Future of Programming Lab द्वारा संचालित एक open source research project है
  • यदि आपके पास प्रश्न हैं या आप योगदान में रुचि रखते हैं, तो team leader Cyrus Omar से संपर्क कर सकते हैं

GN⁺ की संक्षिप्त प्रस्तुति

  • Hazel अधूरे प्रोग्रामों को संभालने का एक नया तरीका प्रस्तुत करता है और programming education तथा research के लिए उपयोगी platform है
  • type theory के आधार पर अधूरे प्रोग्रामों को भी executable बनाकर यह programming के भविष्य की खोज में योगदान देता है
  • समान विशेषताओं वाले प्रोजेक्ट्स में Elm, ML और विभिन्न programming education tools शामिल हैं

1 टिप्पणियां

 
GN⁺ 2024-11-02
Hacker News टिप्पणियाँ
  • Eclipse की एक खासियत यह थी कि वह अधूरे या टूटे हुए कोड को भी चला सकता था। यह इसलिए संभव था क्योंकि Java का Eclipse Compiler लगभग हर फ़ाइल के लिए bytecode बना सकता था। इस फीचर ने बहुत productive environment दिया, और अफ़सोस है कि इसे दूसरे बड़े systems में लागू नहीं किया गया।

  • Haskell में type holes होते हैं, और उन्हें पूरा करने या cases को split करने के लिए code actions देने वाले plugins भी हैं। Agda में भी type holes हैं, और वह इससे भी ज़्यादा शक्तिशाली सुविधाएँ देता है।

  • मैं Hazel के बारे में सवालों के जवाब देने के लिए तैयार हूँ, और पिछले 4 सालों से Cyrus के PhD student के रूप में Hazel पर काम कर रहा हूँ। इस समय मैं Hazel में live programming के लिए mouldable projectional interface विकसित कर रहा हूँ।

    • Hazel में मैंने जो features जोड़े हैं उनकी सूची: GitHub लिंक
    • type holes और Hazel language server का उपयोग करके LLM code completion के लिए code context उपलब्ध कराने पर मेरी talk का video: YouTube लिंक
  • Hazel type holes पर आधारित एक live functional programming environment है। संबंधित जानकारी: Hacker News लिंक

  • Tylr tile-based editing का एक demo है, जो structured editing का एक नया तरीका है। संबंधित जानकारी: Hacker News लिंक

  • मुझे Hazel के code examples पसंद आए, और live editor तथा दाईं ओर दिखने वाला documentation भी अच्छा लगा। लेकिन यह जानने की जिज्ञासा है कि क्या यह live editor और type checker से आगे भी कुछ देता है, और क्या इसमें वास्तव में programs लिखे जा सकते हैं।

  • editor UI बहुत सुंदर है और mobile पर भी अच्छी तरह काम करता है। काफ़ी प्रभावशाली है।

  • let binding का in पर खत्म होने वाला syntax दिलचस्प है। उदाहरण:

    let comparison =
     (0 == 0, 0 < 1, 1 <= 1, 2 > 1, 1 >= 1) 
    in
    

    क्या कोई जानता है कि in keyword क्यों है?

  • Idris का ज़िक्र नहीं था, लेकिन मैंने इस style का development पहली बार Idris में देखा था। संबंधित video: YouTube लिंक

  • मैंने Android phone पर playground आज़माया, लेकिन key input source code में दिखाई नहीं दिया। cursor को tap करके जगह तय की जा सकती है और virtual keyboard भी दिखता है, लेकिन typing संभव नहीं है। समझ नहीं आया कि यह bug है या UX issue।

  • मुझे Hazel हमेशा से पसंद रहा है, और शायद यह education के लिए एक शानदार tool होगा। जिज्ञासा है कि Hazel से क्या-क्या बनाया गया है।