Hy ( زبان برنامه نویسی )
این مقاله به دلیل زیر نامزد حذف زماندار شده است:
اگر میتوانید مشکل این مقاله را با ویرایش، نگارش، منبعدهی، تغییر نام یا ادغام حل کنید، لطفاً این صفحه را ویرایش کنید و مقاله را در حد استانداردهای ویکیپدیا بهبود دهید. در صورتی که مقاله را بهبود بخشیدید، میتوانید این برچسب را بردارید یا این که با هر دلیلی با حذف صفحه مخالفت کنید. اما اگر خودتان سازندهٔ این مقاله هستید، لطفاً این برچسب را از مقاله برندارید و از کاربری دیگر یا نامزدکننده بخواهید تا برچسب را بردارد. اگرچه الزامی وجود ندارد، اما توصیه میشود که دلیل خود برای مخالفت را در خلاصهٔ ویرایش یا در صفحهٔ بحث مقاله ذکر کنید. اگر این الگو حذف شد، آن را دوباره در صفحه قرار ندهید. اگر این پیام برای ده روز، یعنی تا پس از ۳۰ ژوئن ۲۰۲۴، ساعت ۱۴:۱۳ (UTC) در جای خود باقی بماند، ممکن است که مقاله حذف شود. یافتن منابع: "Hy" زبان برنامه نویسی – اخبار · روزنامهها · کتابها · آکادمیک · جیاستور |
پارادایم برنامهنویسی | Multi-paradigm programming language: Procedural programming, Functional programming, Object-oriented programming ,Meta programming, Reflective programming, Generic programming |
---|---|
خانواده | Lisp (programming language)|Lisp |
طراحی شده توسط | Paul Tagliamonte |
توسعهدهندهها | Core team |
ظهوریافته در | ۲۰۱۳ |
انتشار آزمایشی | |
دامنه | lexical, optionally dynamic[نیازمند منبع] |
بنسازه رایانش | IA-32, x86-64 |
سیستمعامل | Cross-platform |
پروانه | MIT License|MIT-style |
.hy | |
وبگاه | |
متأثر از | |
Kawa (Scheme implementation)|Kawa, Clojure, Common Lisp |
Hy گویشی از زبان برنامه نویسی Lisp می باشد که به منظور تعامل با پایتون بوسیله ترجمه s-expressions به درخت نحو انتزاعی پایتون (AST) طراحی شده است. Hy در کنفرانس پایتون در سال 2013 توسط Paul Tagliamonte معرفی شد. Lisp این امکان را ایجاد می کند تا روی کد تحت عنوان داده عمل کند (متابرنامه نویسی)، به این ترتیب می شود از Hy به منظور نوشتن زبان های دامنه خاص استفاده کرد.
همانند نگاشتهای Kawa و Clojure بر روی ماشین مجازی جاوا (JVM)، Hy به عنوان یک Lisp front-end شفاف برای پایتون کار میکند. به این صورت که این دسترسی را می دهد تا کتابخانه های پایتون، شامل کتابخانه استاندارد، وارد شده و در کنار کد Hy با یک مرحله کامپایل که در آن هر دو زبان به AST پایتون تبدیل می شوند، دسترسی پیدا کنند.
کد نمونه[ویرایش]
از اسناد زبان:
=> (print "Hy!")
Hy!
=> (defn salutationsnm [name] (print (+ "Hy " name "!")))
=> (salutationsnm "YourName")
Hy YourName!
یادداشت[ویرایش]
- اصطلاح "کامپایل شده" ممکن است برای بیان کد Hy در AST پایتون یا تبدیل آن AST به بایت کد به کار رود، که دومی به مفسر خاص Python مورد استفاده بستگی دارد و نه Hy.
- Hy روی پایتون 2.7، 3.4 تا 3.6 و PyPy تست شده است.
همچنین ببینید[ویرایش]
منابع[ویرایش]
- Jaworski, Michał; Ziadé, Tarek (2019). Expert Python programming (Third ed.). Birmingham, U.K.: Packt Publishing. p. 173. ISBN 978-1-78980-677-9. OCLC 1125343555.
- Danjou, Julien (2018). Serious Python: black-belt advice on deployment, scalability, testing, and more. San Francisco, CA: No Starch Press. pp. 145–149. ISBN 9781593278793. OCLC 1057729260.
- Tagliamonte, Paul (2 April 2013). PyCon lightning talk (Speech). Python Conference (PyCon). Santa Clara. Retrieved 2 September 2014.
- Tagliamonte, Paul (11 April 2014). Getting Hy on Python: How to implement a Lisp front-end to Python (Speech). PyCon. Montreal. Retrieved 2 September 2014.
- Turto, Tuukka (14 February 2014). "Programming Can Be Fun with Hy". Open Source For You. Retrieved 2 September 2014.
- Watson, Mark (2020). A Lisp Programmer Living in Python-Land: The Hy Programming Language (PDF). LeanBooks.
- Edge, Jake (30 April 2014). "Getting Hy on Python". LWN.net. Retrieved 2 September 2014.
- "Hy Documentation". hylang.org. Retrieved 3 September 2014.
- Danjou, Julien (26 March 2014). "The AST". The Hacker's Guide to Python. pp. 165–172.
- Kitchin, John (31 March 2016). "More on Hy and why I think it is a big deal". The Kitchin Research Group. Carnegie Mellon University. Retrieved 19 September 2018.
- "Quickstart". Hylang.org. 15 May 2018. Retrieved 19 September 2018.
- ↑ ۱٫۰ ۱٫۱ "Hy 1.0a4". GitHub.