Вопросы с тегом «pl.programming-languages»

Языки программирования, в частности, ориентированы на их семантику.

3
Карри-Говард и программы из неконструктивных доказательств
Это дополнительный вопрос к В чем разница между доказательствами и программами (или между предложениями и типами)? Какая программа будет соответствовать неконструктивному (классическому) доказательству вида ? (Предположим, что является интересным разрешимым отношением, например, тая TM не останавливается за шагов.)∀ к Т ( Е , к ) ∨ ¬ ∀ к Т …


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

4
Какой самый мощный вид парсера?
В качестве стороннего проекта я пишу язык с использованием Python. Я начал с использования клона flex / bison под названием Ply, но столкнулся с трудностями, которые я могу выразить с помощью этого стиля грамматики, и мне не интересно взламывать свой язык из-за несоответствия импеданса с инструмент. Поэтому я не против …

6
Максимальная вычислительная мощность реализации C
Если мы пойдем по книге (или любой другой версии спецификации языка, если вы предпочитаете), сколько вычислительной мощности может иметь реализация C? Обратите внимание, что «реализация C» имеет техническое значение: это конкретный экземпляр спецификации языка программирования C, в котором задокументировано поведение, определяемое реализацией. Реализация AC не должна быть в состоянии работать …

6
В чем разница между суждениями и суждениями?
Меня смущает тонкое различие между суждениями и суждениями, когда они подвергаются интуиционистской теории типов. Может ли кто-нибудь объяснить мне, в чем смысл отличать их и что отличает их? Особенно ввиду Карри-Ховарда Изоморфсима.

2
Что такое логарифм или корневая операция в пространстве типов?
Недавно я читал «Две дуальности вычислений: отрицательные и дробные типы» . В статье рассматриваются типы сумм и типы товаров, в которых даны семантика для типов a - bи a/b. В отличие от сложения и умножения, существует не одна, а две инверсии возведения в степень, логарифмы и корни. Если типы функций …

5
В чем разница между доказательствами и программами (или между предложениями и типами)?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в теоретической информатике стека обмена. Мигрировал 8 лет назад . Учитывая, что соответствие Карри-Говарда так широко распространено / расширено, есть ли разница между доказательствами и программами (или между предложениями и типами)? Можем ли мы действительно идентифицировать их?

5
Существуют ли аннотированные системы формальной проверки для чисто функциональных языков программирования?
ACSL (Ansi C Specification Language) - это спецификация для кода C, снабженная специальными комментариями, которая позволяет формально проверять код C. Я не рассматривал это, но я полагаю, что формальные методы, используемые в верификаторах ACSL , будут похожи на Hoare Logic. Однако для чисто функциональных языков, таких как Haskell, я не …

3
В чем разница между переписыванием терминов и сопоставлением с образцом?
Поскольку в Lambda the Ultimate не было ответа, я пробую это снова: системы переписывания терминов используются, например, в автоматизированной теореме, доказывающей символьные вычисления, и, конечно, для определения формальных грамматик. Есть некоторые языки программирования, основанные на переписывании терминов, но, насколько я понимаю, концепция больше известна как сопоставление с образцом . Сопоставление …

2
Контекстно-зависимые грамматики и типы
1) Какова связь между статической типизацией и формальными грамматиками, если таковые имеются? 2) В частности, возможно ли, чтобы линейный ограниченный автомат проверял, хорошо ли, например, написана программа на C ++ или SML? Вложенный стек? 3) Есть ли естественный способ выразить статические правила типизации в терминах формальной грамматики?

6
Как я должен думать о проверочных сетях?
В своем ответе на этот вопрос , Стефан Хименес указал мне на алгоритм нормализации полиномиальное время для доказательств в линейной логике. В доказательстве в статье Жирара используются сети доказательств, которые являются аспектом линейной логики, о которой я на самом деле не очень много знаю. Я уже пытался читать статьи о …

2
Дают ли зависимые типы все, что делает подтип?
Типы и языки программирования довольно сильно фокусируются на подтипах, но, насколько я могу судить, подтипы не кажутся особенно фундаментальными. Дает ли подтип что-то большее, чем зависимые типы? Работа с зависимыми типами должна быть более трудоемкой, поэтому я могу понять, почему подтипы могут быть полезны на практике. Однако меня больше интересует …

4
Когда (или должен) Теоретический CS заботится о интуиционистских доказательствах?
Из того, что я понимаю (что очень мало, поэтому, пожалуйста, поправьте меня, где я ошибаюсь!), Теория языков программирования часто связана с "интуиционистскими" доказательствами. В моей собственной интерпретации, подход требует, чтобы мы серьезно относились к последствиям вычислений для логики и доказуемости. Доказательство не может существовать, если не существует алгоритма, строящего последствия …

2
Существует ли иерархия выразительности для систем типов?
Вдохновленный обширными иерархиями, присутствующими в теории сложности, я подумал, существуют ли такие иерархии и для систем типов. Однако два примера, которые я обнаружил до сих пор, больше похожи на контрольные списки (с ортогональными функциями), а не на иерархии (с последовательно растущими и более выразительными системами типов). Два примера, которые я …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.