Запитання з тегом «type-systems»

3
Введіть класи проти об’єктних інтерфейсів
Я не думаю, що я розумію типи класів. Я десь читав, що мислення про типові класи як "інтерфейси" (від OO), що тип реалізує, є неправильним та оманливим. Проблема полягає в тому, що у мене виникають проблеми бачити їх як щось інше, і як це неправильно. Наприклад, якщо у мене клас …

2
Як ви отримуєте обчислення конструкцій з інших точок Ламбда-куба?
Кози, як кажуть, є кульмінацією всіх трьох вимірів Ламбда-куба. Це мені зовсім не видно. Я думаю, що я розумію окремі виміри, і поєднання будь-яких двох, здається, призводить до відносно прямого союзу (можливо, мені чогось не вистачає?). Але коли я дивлюся на CoC, замість того, щоб виглядати як поєднання всіх трьох, …

2
Які частини теорії типу гомотопії неможливі в Агді чи Кок?
Коли ми дивимось книгу, теорія типу гомотопії - ми бачимо наступні теми: Homotopy type theory 2.1 Types are higher groupoids 2.2 Functions are functors 2.3 Type families are fibrations 2.4 Homotopies and equivalences 2.5 The higher groupoid structure of type formers 2.6 Cartesian product types 2.7 S-types 2.8 The unit …

4
Унарна параметричність проти двійкової параметричності
Нещодавно я дуже зацікавився параметричністю, побачивши документ LICS Бернарді та Муліна 2012 року ( https://dl.acm.org/citation.cfm?id=2359499 ). У цій роботі вони інтерналізують одинарну параметричність у системі чистого типу із залежними типами та натякають на те, як можна поширити конструкцію на довільні артерії. Я бачив лише двійкову параметричність, визначену раніше. Моє запитання: …


1
Математичний (категоричний) опис класів типів
Функціональну мову можна розглядати як категорію, де її об'єктами є типи, а між ними функціонують морфізми. Як класи типів вписуються в цю модель? Я припускаю, що ми повинні розглядати лише ті реалізації, які задовольняють обмеження, яке має більшість класів типів, але вони не виражені в Haskell. Наприклад, ми повинні розглядати …

2
Чи компілятор для залежного типу набагато складніше, ніж інтепретер?
Я щось дізнався про реалізацію залежних типів, як, наприклад, цей підручник , але більшість із них - це перекладачі. Моє запитання полягає в тому, що здається, що реалізувати компілятор для залежного типу набагато важче, ніж компілятор, тому що ви дійсно можете оцінити аргументи залежного типу для перевірки типу. Так Чи …

1
Залежні типи над кодованим церковним типом у PTS / CoC
Я експериментую з системами чистого типу в лямбда-кубі Барендрегта, конкретно з найбільш потужним, «Калькуляцією конструкцій». Ця система має різновиди *та BOX. Тільки для запису, я нижче використовую конкретний синтаксис Morteінструменту https://github.com/Gabriel439/Haskell-Morte-Library, який близький до класичного обчислення лямбда. Я бачу, що ми можемо імітувати індуктивні типи за допомогою якогось кодовського кодування …

3
Система типів, заснована на теорії наївних множин
Як я розумію, в інформатиці типи даних не базуються на теорії множин через такі речі, як парадокс Рассела, але як і в реальних мовах програмування, ми не можемо виразити такі складні типи даних, як "набір, який не містить себе", чи можемо ми скажімо, що на практиці тип - це нескінченна …

2
Інтуїція за суворою позитивністю?
Мені цікаво, чи може хтось дати мені інтуїцію, чому сувора позитивність індуктивних типів даних гарантує сильну нормалізацію. Щоб було зрозуміло, я бачу, як наявність негативних явищ призводить до розбіжності, тобто шляхом визначення: data X where Intro : (X->X) -> X ми можемо записати розбіжну функцію. Але мені цікаво, як можна …

1
Чи вводиться `sort` за елементарною афінною логікою?
Наступний λ-термін, тут у звичайній формі: sort = (λabc.(a(λdefg.(f(d(λhij.(j(λkl.(k(λmn.(mhi))l)) (h(λkl.l)i)))(λhi.(i(λjk.(bd(jhk)))(bd(h(λjk.(j (λlm.m)k))c)))))e))(λde.e)(λde.(d(λfg.g)e))c)) Реалізує алгоритм сортування списків, кодованих церквою. Тобто результат: sort (λ c n . (c 3 (c 1 (c 2 n)))) β→ (λ c n . (c 1 (c 2 (c 3 n)))) Аналогічно sort_below = λabcd.a(λef.f(λghi.g(λj.h(λkl.kj(ikl)))(hi))e(λgh.h)) (λe.d)(λe.b(λf.e(f(λghi.hg)(λgh.cfh)))) Також реалізує …

1
Теорія типу гомотопії та теореми про незавершеність Геделя
Курт Гедель «s незавершеність теореми встановити" внутрішні обмеження всіх , крім самих тривіальних систем хрестоматійні , здатні виконувати арифметичні ". Теорія типу гомотопії дає альтернативну основу для математики, одновалентний фундамент, заснований на вищих індуктивних типах та аксіомі одновалентності . У книзі HoTT пояснюється, що типи - це вищі групоїди, функції …

2
Типи власності та роздільна логіка
Типи власності та роздільна логіка, схоже, мають подібні цілі, контроль над власністю та згладжування. Можливо, я також повинен додати: можливість писати модульні специфікації. Що відомо про взаємозв'язок між типами власності та логікою поділу?


1
Які можливі реалізації класів типів Haskell і які їх переваги?
Наскільки мені відомо, функція Haskell з обмеженнями класів типів внутрішньо компілюється у функцію з додатковими аргументами, які отримують словники з необхідними реалізаціями кожного конкретного класу типу. Чи є інші можливості, як компілювати класи типів? Якщо так, то які їх (не) переваги? І які компілятори ними користуються?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.