چندریختی پارامتری
در زبان برنامهنویسی و نظریه نوعها، چندریختی پارامتری یا چند شکلی پارامتری (Parametric polymorphism) راهی است برای رسا و گویاتر کردن زبان بهگونهای که زبان همچنان نوع-ایمن بماند.[1] با چندریختی پارامتری، یک تابع یا نوع دادهای میتواند جنریک نوشته شود تا مقادیر را بهطور یکسان، فارغ از نوع آنها، مدیریت کند. چنین تابع و نوع دادهای تابع جنریک و نوع دادهای جنریک نامیده میشوند.
برای نمونه، تابع append
که دو لیست را به هم پیوند میدهد میتواند بگونهای نوشته شود که بدون توجه به نوع المانها، عملیات خود را انجام دهد: میتواند لیستهایی از اعداد صحیح، اعداد حقیقی، رشتهها و … را به هم وصل کند.
اگر متغیر نوع a نشانگر نوع المان در لیست باشد، آنگاه append
میتواند اینگونه باشد forall a. [a] × [a] -> [a]
که [a]
نشانگر نوع لیستها با المانهایی از نوع a است.
میتوان گفت نوع append
برای همه مقادیر a، با a دارای پارامتر میشوند. از آنجا که تنها یک متغیر نوع وجود دارد، تابع نمیتواند برای هر جفتی ای از لیستها بکار رود: جفت لیستها، و همچنین لیست حاصل، باید حاوی المانهایی از نوع یکسان باشند.
منابع
-
- Pierce, Benjamin C. (2002). Types and Programming Languages. MIT Press. ISBN 978-0-262-16209-8.