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

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

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

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



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

2
В чем разница между ADT, GADT и индуктивными типами?
Может ли кто-нибудь объяснить разницу между: Алгебраические типы данных (с которыми я довольно хорошо знаком) Обобщенные алгебраические типы данных (что делает их обобщенными?) Индуктивные типы (например, Coq) (Особенно индуктивные типы.) Спасибо.

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

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

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

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

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

3
Кадровое правило как хранитель изменений?
Правило рамки , как приведенному ниже, отражает идею , что, учитывая программу cс предварительным условием , pчто имеет место , прежде чем он работает и постусловии qчто держит позже, некоторые непересекающиеся условие rследует держать как до , так и после того, как cработает. ( *Соединение требует, чтобы его аргументы были …

6
Какие модели вычислений можно выразить через грамматику?
Это переформулировка программ грамматики? предыдущий вопрос от Vag и множество предложений от комментаторов. Каким образом грамматика может рассматриваться как спецификация модели вычислений? Если, например, мы берем простую контекстно-свободную грамматику, такую ​​как G ::= '1' -> '0' '+' '1' '1' -> '1' '+' '0' '2' -> '2' '+' '0' '2' -> …

2
Неявный или явный подтип
Эта страница утверждает, что многие языки не используют неявный подтип (структурная эквивалентность), предпочитая явный / объявленный подтип (декларационная эквивалентность) Я в основном использовал языки программирования, которые используют явные подтипы . Каковы преимущества неявного подтипирования, как описано в примечаниях выше.

1
Список (нерешенных) проблем сложности, возникающих из PL
Какие основные открытые проблемы вычислительной сложности возникают из-за языков программирования, особенно из анализа и компиляции программ? Я ищу проблемы по линии «временная сложность вывода типа Хиндли-Милнера» или «временная сложность 0CFA» (хотя обе проблемы решены).

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