چندریختی پارامتری

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

در زبان برنامه‌نویسی و نظریه نوع‌ها، چندریختی پارامتری یا چند شکلی پارامتری (Parametric polymorphism) راهی است برای رسا و گویاتر کردن زبان به‌گونه‌ای که زبان همچنان نوع-ایمن بماند.[۱] با چندریختی پارامتری، یک تابع یا نوع داده‌ای می‌تواند جنریک نوشته شود تا مقادیر را بطور یکسان، فارغ از نوع آنها، مدیریت کند. چنین تابع و نوع داده‌ای تابع جنریک و نوع داده‌ای جنریک نامیده می‌شوند.

برای نمونه، تابع append که دو لیست را به هم پیوند می‌دهد می‌تواند بگونه‌ای نوشته شود که بدون توجه به نوع المانها، عملیات خود را انجام دهد: می‌تواند لیست‌هایی از اعداد صحیح، اعداد حقیقی، رشته‌ها و … را به هم وصل کند.

اگر متغیر نوع a نشانگر نوع المان در لیست باشد، آنگاه append می‌تواند اینگونه باشد forall a. [a] × [a] -> [a] که [a] نشانگر نوع لیست‌ها با المانهایی از نوع a است.

می‌توان گفت نوع append برای همه مقادیر a، با a دارای پارامتر می‌شوند. از آنجا که تنها یک متغیر نوع وجود دارد، تابع نمی‌تواند برای هر جفتی ای از لیست‌ها بکار رود: جفت لیست‌ها، و همچنین لیست حاصل، باید حاوی المان‌هایی از نوع یکسان باشند.

منابع[ویرایش]

  1. * Pierce, Benjamin C. (2002). Types and Programming Languages. MIT Press. ISBN 978-0-262-16209-8.