Мені цікаво зрозуміти дійсно залежне введення тексту. Я читав більшість TaPL і читав (якщо не повністю поглинений) "Залежні типи" в ATTaPL . Я також читав і переглядав купу статей про залежність від набору тексту.
Багато дискусій з теорії типів, як видається, зосереджені на додаванні додаткових функцій до систем попереднього типу, а не "що таке наступне велике узагальнення від системи типу X?". Наступні великі узагальнення із системи F здаються залежними типами, але мені ще належить знайти інтуїтивну, канонічну залежну мову. Багато посилань на обчислення (індуктивних) конструкцій змушують мене думати, що КоК є цією мовою, але пояснення мови, яку я бачив, не здаються мені дуже зрозумілими чи інтуїтивно зрозумілими.
Я очікую / здогадуюсь, що така мова матиме такі функції, як: (і, будь ласка, повідомте мене, якщо щось конкретно вискакує як заплутане чи нереальне)
- Узагальнена абстракція (може мати функції з будь-якого домену в ієрархії типів до іншого, роду -> термін, термін-> тип '' 'тощо)
- Має нескінченну ієрархію введення тексту (терміни: типи: типи ': типи' ': ...)
- Мінімальна кількість основних елементів. Я уявляю, що мова стверджує лише один елемент для кожного рівня. Наприклад, це може стверджувати, що ((): Unit: Type: Type ': ...). З цих елементів будуються інші елементи.
- Сума та види продукції можна отримати.
Я також шукаю пояснення тієї мови, яка в ідеалі могла б обговорити:
- Зв'язок між абстракцією та кількісною оцінкою в цій мові. Якщо вони не уніфіковані, то поясніть, чому вони не уніфіковані.
- Ієрархія нескінченного типу явно
Я задаю це питання тому, що хочу вивчити теорію залежних типів, а також тому, що хочу скласти посібник, який, маючи на увазі невеликий досвід роботи з CS, вчить використання та розуміння асистентів підтвердження та залежно введених мов.