همتمثیلی
همتمثیلی (به انگلیسی: Homoiconicity) در برنامهنویسی کامپیوتری نامی است که الن کی در تز دکترای خود در سال ۱۹۶۹ میلادی به خصوصیتی از زبانهای برنامهنویسی اطلاق کردهاست که در آنها ساختار برنامه دقیقاً شبیه به شکل نحوی آن باشد؛ که در نتیجه، ساختار درونی برنامه را میتوان به راحتی از روی متن سطح بالای برنامه استنتاج کرد. در صورتی که زبانی همتمثیل باشد، بدین معنی است که درخت نحوی آن دارای ساختاری مشابه با متن زبان است، که خود به این معنی است که درخت نحوی زبان و نحو زبان از دیدگاه جبر مجرد دارای یکریختی هستند. این ویژگی اجازه میدهد تا تمام کدهای داخل برنامه با یک نوع نمایش یکسان به عنوان داده نگاشته شوند و یا مورد دسترسی قرار گیرند.
اولین مزیت زبانهای همتمثیل، توانا بودن در تولید و تغییر کد همان برنامه در زمان اجرا است که در زبانهای از نوع دیگر از طریق بازتاب یا Reflection (تبدیل رشتهها و تفسیر آن در کامپایلر) انجام میشود.
جستارهای وابسته
[ویرایش]برای مطالعه بیشتر
[ویرایش]- Ira R. Forman and Nate Forman, Java Reflection in Action (2005), شابک ۱−۹۳۲۳۹۴−۱۸−۴
- Ira R. Forman and Scott Danforth, Putting Metaclasses to Work (1999), شابک ۰−۲۰۱−۴۳۳۰۵−۲
پیوند به بیرون
[ویرایش]- Reflection in logic, functional and object-oriented programming: a short comparative study
- An Introduction to Reflection-Oriented Programming
- Brian Foote's pages on Reflection in Smalltalk
- Java Reflection API Tutorial از اوراکل
منابع
[ویرایش]- "The Reader" (به انگلیسی). clojure.org. Retrieved 11 January 2018.
- مشارکتکنندگان ویکیپدیا. «Homoiconicity». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۱۱ ژانویهٔ ۲۰۱۸.