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

27
В чем разница между суждениями и суждениями?

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

27
Что такое логарифм или корневая операция в пространстве типов?

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

26
В чем разница между доказательствами и программами (или между предложениями и типами)?

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

25
Контекстно-зависимые грамматики и типы

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

25
В чем разница между переписыванием терминов и сопоставлением с образцом?

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

25
Существуют ли аннотированные системы формальной проверки для чисто функциональных языков программирования?

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

24
Дают ли зависимые типы все, что делает подтип?

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

24
Как я должен думать о проверочных сетях?

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

23
Когда (или должен) Теоретический CS заботится о интуиционистских доказательствах?

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

23
Для того чтобы язык был программируемым, обязательно ли он основывался на контекстно-свободной грамматике

Практически, для языка, который в конечном итоге может быть скомпилирован / преобразован в инструкции системного уровня, необходимо ли, чтобы это была контекстно-свободная грамматика? пример: все ли языки программирования / написания сценариев являются контекстно-свободными грамматиками? Java...

23
Что такое народная модель линейной логики?

Вероятно, наиболее распространенным применением линейных типов в PL является использование их для предоставления языков, которые управляют псевдонимами (т. Е. Линейное значение имеет единственный указатель на него, более или менее). Но есть небольшое несоответствие между этим использованием и...

23
Существует ли иерархия выразительности для систем типов?

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

22
Можно ли пренебречь стоимостью GC при анализе времени работы структур данных наихудшего случая, указанных на языке программирования, собираемом мусором?

Я только что понял, что я предполагаю, что ответ на мой вопрос - «да», но у меня нет веской причины. Я предполагаю, что, возможно, существует сборщик мусора, который доказуемо вводит только замедление в худшем случае. Есть ли конкретная ссылка, которую я могу привести? В моем случае я работаю над...

21
Была ли когда-нибудь формализована семантика TeX (как языка программирования)?

Мне кажется, что макроязык, используемый может рассматриваться как некая система переписывания терминов или какой-то язык программирования с возможностью определения по имени.TEXTEX\TeX Даже современные реализации двигатель (например, X e TTEXTEX\TeX ) интерпретировать код довольно прямым способом,...

20
Доказательства корректности компилятора

Я ищу учебный материал, который охватывает доказательства корректности компилятора, предпочтительно с использованием денотационных методов, на уровне начинающего аспиранта. В качестве альтернативы, вы знаете несколько простых примеров компилятора, которые я мог бы использовать для иллюстрации...

20
Как мы можем знать, что формальные методы работают?

Важной целью формальных методов является доказательство правильности систем, либо автоматизированными, либо управляемыми человеком средствами. Тем не менее, кажется, что даже если вы можете предоставить подтверждение правильности, вы НЕ МОЖЕТЕ гарантировать, что система не выйдет из строя....

19
Каковы пределы общего функционального программирования?

Каковы ограничения общего функционального программирования? Он не является полным по Тьюрингу, но все еще поддерживает большое количество возможных программ. Существуют ли важные конструкции, которые вы могли бы написать на языке Тьюринга, но не на полном функциональном языке? И правильно ли...

19
Стохастическое лямбда-исчисление Скотта

Недавно Дана Скотт предложила стохастическое лямбда-исчисление, попытку ввести вероятностные элементы в (нетипизированное) лямбда-исчисление на основе семантики, называемой графовой моделью. Вы можете найти его слайды в Интернете, например, здесь и его статью в журнале прикладной логики , том. 12...