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

18
Какие модели вычислений можно выразить через грамматику?

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

18
Неявный или явный подтип

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

18
Кадровое правило как хранитель изменений?

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

17
Формальная семантика языков программирования

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

17
Список (нерешенных) проблем сложности, возникающих из PL

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

17
Читатель, писатель монад

Пусть будет CCC . Пусть быть бифунктором продукта на . Так как Cat - это CCC, мы можем карри (\ times) :ССC( × )(×)(\times)ССC( × )(×)(\times) с у г г у( × ) : C→ ( C⇒C)curry(×):C→(C⇒C)curry (\times) : C \rightarrow(C \Rightarrow C) curry(×)A=λB.A×Bcurry(×)A=λB.A×Bcurry (\times) A = \lambda B. A...

17
Статус-кво теории категорий и монад в теоретической информатике?

Фон . Я студент бакалавриата, который интересуется исследованиями, связанными с теорией категорий, монадами и Хаскеллом, и я хочу найти тему для своей диссертации бакалавра в этой области. Я посмотрел на бумагу Эудженио Могги , « Понятия вычислений и монад », 1991, и я пока не очень разбираюсь в...

16
(Как) вы можете моделировать трансляции в пи-исчислении?

Можете ли вы моделировать надежные трансляции в пи-исчислении? Если так: как? Если нет: есть ли подобные алгебры процессов, где вы можете? Что я пробовал: Если отправитель хочет послать сообщение у всего Р 1 до Р п , можно написать ! ( ¯ х года ) . S и x ( z ) . P 1 до x ( z ) . П н . Но как вы...

16
Существует ли какая-либо теория языков программирования, описывающая интерфейсы сторонних функций (FFI) и привязки к нескольким языкам?

Существует ли какая-либо теория языков программирования, описывающая интерфейсы сторонних функций (FFI) и привязки к нескольким языкам? Я задал некоторые вопросы реализации на стеке потока , который здесь не подходит. Но я хотел бы спросить с точки зрения этого сайта и посмотреть, что я мог бы...

16
Параметрическость и проективные исключения для зависимых записей

π 1 : A × B → A π 2 : A × B → BA×B≜∀α.(A→B→α)→αA×B≜∀α.(A→B→α)→α A \times B \triangleq \forall\alpha.\; (A \to B \to \alpha) \to \alpha π1:A×B→Aπ1:A×B→A\pi_1 : A \times B \to Aπ2:A×B→Bπ2:A×B→B\pi_2 : A \times B \to B Это не так удивительно, хотя естественное чтение типа F - это пара с исключением в...

16
Какова роль предикативности в индуктивных определениях в теории типов?

Мы часто хотим определить объект соответствии с некоторыми правилами вывода. Эти правила обозначают производящую функцию F , которая, когда она монотонна, возвращающую мере неподвижную точку М F . Возьму А : = μ F , чтобы быть «индуктивным определением» А . Кроме того, монотонность F позволяет нам...

15
Является ли MALL + неограниченные рекурсивные типы Turing-complete?

Если вы посмотрите на рекурсивные комбинаторы в нетипизированном лямбда-исчислении, такие как Y-комбинатор или омега-комбинатор: Понятно, что все эти комбинаторы в конечном итоге дублируют переменную где-то в своем определении.ωYзнак равнознак равно( λ х .Иксх )( λ х .Иксх )λ f,( λ х .е( хх ) )( λ...

15
Структуры данных в языке программирования с линейными типами

Предположим, мы имеем дело с языком программирования, который поддерживает линейные типы (термины линейного типа можно использовать не более одного раза, так сказать). Это позволяет обрабатывать некоторые вычислительные эффекты (такие как мутация, даже изменение типа операнда) способом, который...

15
Когда можно сказать, что две программы разные?

Q1. Когда можно сказать, что две программы (написанные на каком-то языке программирования, например C ++) различны? Первая крайность - сказать, что две программы эквивалентны, если они идентичны. Другой крайний случай - говорить, что две программы эквивалентны, если они вычисляют одну и ту же...

15
Использует квази-PER / дифункциональные отношения / зигзагообразные отношения?

С учетом множество и , A бифункционального соотношение между ними определяются как отношение , удовлетворяющее следующее свойство:B ( ∼ ) ⊆ A × BAAAВВB (∼)⊆A×B(∼)⊆A×B(\sim) \subseteq A \times B Если и a ′ ∼ b ′ и a ∼ b ′ , то a ′ ∼ b . a∼ba∼ba \sim ba′∼b′a′∼b′a' \sim b'a∼b′a∼b′a \sim b'a′∼ba′∼бa'...

15
Поддержание порядка в списке в за раз

Задача обслуживания заказа (или «поддержание заказа в списке») заключается в поддержке операций: singleton: создает список с одним элементом, возвращает указатель на него insertAfter: дает указатель на элемент, вставляет новый элемент после него, возвращает указатель на новый элемент delete: дает...

15
Доказательство теории бипродуктов?

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

15
Одинарная параметричность против двоичной параметричности

Недавно я очень заинтересовался параметричностью после просмотра статьи LICS Бернарди и Мулена 2012 года ( https://dl.acm.org/citation.cfm?id=2359499 ). В этой статье они усваивают унарную параметричность в системе чистого типа с зависимыми типами и подсказывают, как можно расширить конструкцию до...

15
Полная полнота против полной абстракции программного перевода

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