• Hazel एक वेब-आधारित live functional programming environment है, जो typed holes को केंद्र में रखता है, और अधूरे प्रोग्रामों को भी type-check, manipulate और run करने की सुविधा देता है
  • खाली स्थान, type errors, और merge conflicts जैसी अपूर्ण अवस्थाओं को holes के रूप में model करना इसका मुख्य विचार है, ताकि editor उन हिस्सों में भी अर्थपूर्ण व्यवहार बनाए रख सके जहाँ सामान्यतः semantics टूट जाती है
  • Hazel में बनाए जा सकने वाले अपूर्ण प्रोग्राम static और dynamic दोनों रूपों में परिभाषित होते हैं, और उनमें अपूर्ण types तथा अपूर्ण execution results हो सकते हैं
  • इसका implementation target Elm/ML-परिवार की functional languages हैं, और इसे programming education, collaborative editing, proof learning, तथा AI code completion research के आधार के रूप में उपयोग किया जाता है
  • University of Michigan की Future of Programming Lab के नेतृत्व में चल रहा यह एक open source research project है, जिसका demo web build और GitHub source code सार्वजनिक रूप से उपलब्ध है

Hazel का मुख्य विचार

  • Hazel एक live functional programming environment है, जो typed holes पर आधारित है
  • अधूरे प्रोग्रामों के साथ भी आगे के काम जारी रखे जा सकते हैं
    • type-check
    • manipulate
    • run
  • इसका लक्ष्य ऐसा environment बनाना है जो edit किए जा रहे code के टूटे होने पर भी meaningful feedback बनाए रखे

अपूर्ण प्रोग्रामों को संभालने का तरीका

  • सामान्य programming process में program text अक्सर औपचारिक रूप से अधूरी अवस्था में होता है
    • खाली स्थान
    • type errors
    • merge conflicts
  • पारंपरिक programming language definitions ऐसी संरचनाओं को औपचारिक अर्थ नहीं देतीं, इसलिए आंशिक रूप से पूर्ण code के व्यवहार को भी live feedback के रूप में संभालना कठिन हो जाता है
  • editor और tools को code completion, type-checking, और code navigation बिना रुकावट देने के लिए जटिल heuristics पर निर्भर होना पड़ता है
  • Hazel अपूर्ण प्रोग्रामों को holes वाले programs के रूप में model करता है
    • holes प्रोग्राम के गायब हिस्सों को दर्शाते हैं
    • वे error वाले हिस्सों या collaborative environment में conflict वाले हिस्सों को घेरने वाली परत की तरह काम करते हैं
  • यह approach contextual modal type theory और gradual type theory पर आधारित है

Hazel environment और execution model

  • Hazel को Elm/ML जैसी functional language के लिए वेब-आधारित programming environment के रूप में implement किया जा रहा है
  • Hazel की edit action language से बनाए जा सकने वाले सभी अपूर्ण प्रोग्राम static और dynamic दोनों रूपों में परिभाषित हैं
    • उनमें अपूर्ण types हो सकते हैं
    • उन्हें run करने पर अपूर्ण results उत्पन्न हो सकते हैं
  • इसी विशेषता के कारण Hazel, future programming environments और programming education research के लिए एक platform के रूप में उपयोगी है

research vision और संबंधित सामग्री

हालिया research और publication प्रवाह

उपयोग और योगदान

  • Hazel ऐसा web build उपलब्ध कराता है जिसे सीधे आज़माया जा सकता है
  • source code GitHub पर सार्वजनिक है
  • Hazel, University of Michigan की Future of Programming Lab (FP Lab) द्वारा संचालित open source research project है
  • contribution या questions के लिए team lead Cyrus Omar से संपर्क किया जा सकता है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.