انواع وابسته و زیرساختاری
انواع وابسته به انواع اجازه میدهند تا به مقادیر وابسته باشند و مشخصات دقیقی را ممکن سازند، در حالی که انواع زیرساختاری مانند انواع خطی و آفین نحوه استفاده از منابع را کنترل میکنند.
Definition
انواع وابسته، انواعی هستند که به مقادیر وابسته هستند و اجازه میدهند ویژگیهای دقیق در سطح نوع بیان و بررسی شوند؛ سیستمهای نوع زیرساختاری نحوه تکرار یا دور انداختن متغیرها (منابع) را محدود میکنند، به طوری که انواع خطی مستلزم استفاده دقیقاً یک بار از هر کدام هستند.
Scope
این موضوع به رشتههای پیشرفته تایپینگ میپردازد که فراتر از سیستمهای مرسوم هستند: انواع وابسته، که در آنها انواع ممکن است به مقادیر برنامه اشاره کنند و به انواع اجازه میدهند تا مشخصات کامل را بیان کرده و به عنوان اثبات عمل کنند؛ و انواع زیرساختاری (خطی، آفین، مالکیت)، که قوانین ساختاری انقباض و تضعیف را برای ردیابی استفاده از منابع، نام مستعار و طول عمر محدود میکنند. این موضوع به مکاتبات کوری-هاوارد و دستیاران اثبات مرتبط است.
Core questions
- چگونه انواع میتوانند به مقادیر وابسته باشند تا مشخصات کامل برنامه را بیان کنند؟
- چه ارتباطی بین انواع وابسته و اثباتهای سازنده وجود دارد؟
- چگونه انواع خطی و آفین منابع، مالکیت و ایمنی حافظه را مدلسازی میکنند؟
- مبادلات در تصمیمپذیری و قابلیت استفاده این سیستمهای غنی چیست؟
Key theories
- نظریه نوع شهودی (وابسته)
- نظریه نوع مارتین-لوف برنامهنویسی و منطق سازنده را یکپارچه میکند به طوری که انواع، گزارهها و برنامهها، اثباتها هستند و مبنایی برای زبانهای با نوع وابسته و دستیاران اثبات فراهم میکند.
- منطق خطی و انواع خطی
- منطق خطی ژیرار منطق کلاسیک و شهودی را با کنترل قوانین ساختاری اصلاح میکند، و وادلر نشان داد که چگونه انواع خطی مبتنی بر آن میتوانند به طور ایمن بهروزرسانی درجا و استفاده از منابع را مدیریت کنند.
- استاتیک برای سیستمهای زیرساختاری
- هارپر فرامتافیزیک سیستمهای نوع زیرساختاری و سایر سیستمهای نوع پیشرفته را در یک چارچوب استاتیک-و-دینامیک یکنواخت توسعه میدهد و صحت و تفسیر منابع آنها را روشن میکند.
Clinical relevance
انواع وابسته به دستیاران اثبات و نرمافزارهای تأیید شده قدرت میبخشند، جایی که برنامهها دارای تضمینهای صحت بررسی شده توسط ماشین هستند. انواع زیرساختاری و مالکیت، زیربنای زبانهای سیستمی ایمن از نظر حافظه و همزمانی هستند و امکان مدیریت دستی ایمن منابع را بدون جمعآوری زباله فراهم میکنند.
History
نظریه نوع شهودی مارتین-لوف (دهههای 1970-1980) انواع وابسته و دیدگاه گزارهها به عنوان انواع را پایهگذاری کرد که منجر به دستیاران اثبات مانند Coq، Agda و Lean شد. منطق خطی ژیرار در سال 1987 استدلال حساس به منابع را معرفی کرد؛ انواع خطی وادلر آن را وارد طراحی زبان کرد، و رشتههای مالکیت و بررسی قرض بعداً ایدههای زیرساختاری را در برنامهنویسی سیستمی رایج کردند.
Debates
- بیانپذیری در مقابل قابلیت استفاده و تصمیمپذیری
- سیستمهای با نوع وابسته و زیرساختاری میتوانند تضمینهای بسیار قوی را بیان کنند، اما بار روی برنامهنویسان را افزایش میدهند و میتوانند بررسی نوع را غیرقابل تصمیمگیری یا طاقتفرسا کنند، که منجر به بحث در مورد اینکه چقدر قدرت ارزش هزینه را دارد، میشود.
Key figures
- Per Martin-Löf
- Jean-Yves Girard
- Philip Wadler
- Robert Harper
Related topics
Seminal works
- martinlof1984
- girard1987
- wadler1990
- harper2016
Frequently asked questions
- نوع وابسته چیست؟
- نوع وابسته، نوعی است که تعریف آن به یک مقدار بستگی دارد، مانند نوع بردارهای با طول مشخص، که به سیستم نوع اجازه میدهد تا ناورداهای غنی را اعمال کند که انواع معمولی نمیتوانند بیان کنند.
- انواع خطی چه تضمینی میدهند؟
- انواع خطی مستلزم آن هستند که هر مقدار دقیقاً یک بار استفاده شود، که به کامپایلر اجازه میدهد تا بهروزرسانی درجا را به طور ایمن مجاز کند، منابع را مدیریت کند و از خطاهای مرتبط با نام مستعار بدون جمعآوری زباله در زمان اجرا جلوگیری کند.