Запитання з тегом «pl.programming-languages»

Мови програмування, зокрема, орієнтуючись на їх семантику.

3
Кері-Говард та програми з неконструктивних доказів
Це додаткове запитання Чим відрізняються докази та програми (або між пропозиціями та типами)? Яка програма відповідала б неконструктивному (класичному) доказуванню форми ∀k T(e,k)∨¬∀k T(e,k)∀k T(e,k)∨¬∀k T(e,k)\forall k \ T(e,k) \lor \lnot \forall k \ T(e,k) ? (Припустимо, що TTT - якесь цікаве визначальне відношення, наприклад, eee th TM не зупиняється …


6
Чому натурали замість цілих чисел?
Мене цікавить, чому природні числа так улюблені авторами книг з теорії мов програмування та теорії типів (наприклад, Дж. Мітчелл, Основи мов програмування та Б. Пірс, Типи та мови програмування). Опис просто набраного лямбда-числення і, зокрема, мови програмування PCF, зазвичай базуються на Наті та Булі. Для людей, які використовують та навчають …

6
Максимальна обчислювальна потужність реалізації С
Якщо ми підемо за книгою (або будь-якою іншою версією специфікації мови, якщо вам зручніше), яку обчислювальну потужність може мати реалізація C? Зауважте, що "реалізація C" має технічне значення: це особливе опис специфікації мови програмування C, де документально визначена поведінка. Реалізація змінного струму не повинна працювати на фактичному комп’ютері. Він повинен …

4
Який найпотужніший вид парсера?
Як побічний проект я пишу мову за допомогою Python. Я почав із використання клону флек / зубрів під назвою Ply, але я стикаюся з ребрами в силу того, що можу виразити за допомогою цього стилю граматики, і мені не цікаво зламати мову через невідповідність імпедансу інструмент. Тому я не проти …

6
Яка різниця між пропозиціями та судженнями?
Мене бентежить тонка різниця між судженнями і судженнями, коли піддаються інтуїтивістській теорії типу. Чи може хтось пояснити мені, в чому сенс їх розрізняти і що їх відрізняє? Особливо з огляду на Ізоморфсима Каррі-Говарда.

2
Що таке логарифм чи коренева операція у просторі типів?
Я нещодавно читав «Дві подвійності обчислення»: негативні та дробові типи . У статті розгорнуто суми та типи продуктів, надаючи семантику типам a - bта a/b. На відміну від додавання та множення, існує не одна, а дві обертання експоненції, логарифми та вкорінення. Якщо типи функцій (a → b) є типово-теоретичною експоненцією, …

5
Чим відрізняються докази та програми (або між пропозиціями та типами)?
Це питання було переміщено із переповнення стека, оскільки на нього можна відповісти на Теоретичній біржі стека комп'ютерних наук. Мігрували 8 років тому . З огляду на те, що листування Кері-Говарда настільки широко розповсюджене / розширене, чи є різниця між доказами та програмами (або між пропозиціями та типами)? Чи можемо ми …

5
Чи є анотована формальна система верифікації для чисто функціональних мов програмування?
ACSL (Мова специфікації Ansi C) - це специфікація коду С, анотація із спеціальними коментарями, що дозволяє офіційно перевірити код C. Я не розглядав це, але уявляю, що формальні методи, що використовуються у верифікаторах ACSL, були б схожими на Лоріку Лоара . Однак для чисто функціональних мов, таких як Haskell, я …

3
Яка різниця між терміном переписування та відповідності шаблону?
Оскільки у Lambda the Ultimate не було відповіді, я спробую це ще раз: системи переписування термінів використовуються, наприклад, в автоматизованій теоремі, що підтверджує символічний розрахунок, і, звичайно, для визначення формальних граматик. Є кілька мов програмування, заснованих на переписуванні термінів, але, наскільки я розумію, ця концепція більш відома як відповідність шаблонів …

2
Контекстно чутливі граматики та типи
1) Який, якщо такий є, зв’язок між статичним набором тексту та формальними граматиками? 2) Зокрема, чи вдасться лінійно обмеженим автоматом перевірити, чи правильно було набрано програму C ++ або SML? Вкладений автомат стеків? 3) Чи існує природний спосіб виразити статичні правила набору тексту у формальній граматиці?

6
Як я повинен думати про захисні сітки?
У своїй відповіді на це питання , Стефан Хіменес вказав мені на алгоритм нормалізації поліноміальний час для доказів в лінійної логіки. Доказ в роботі Жирара використовує доказові мережі, які є аспектом лінійної логіки, про яку я насправді не дуже знаю. Зараз я раніше намагався читати документи про захисні сітки (наприклад …

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

4
Коли (або повинен) теоретичний КС піклується про інтуїтивні докази?
З того, що я розумію (що дуже мало, тому, будь ласка, виправте мене, де я помиляюся!), Теорія мов програмування часто стосується "інтуїтивістських" доказів. З моєї власної інтерпретації, підхід вимагає від нас серйозно сприймати наслідки обчислень щодо логіки та доцільності. Доказ не може існувати, якщо не існує алгоритму, який будує наслідки …

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

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