Вопросы с тегом «type-theory»

17
Кто-нибудь на самом деле создал систему, которая пишет компьютерные программы из спецификации?

Кто-нибудь когда-либо писал систему (программное обеспечение или подробное объяснение на бумаге с простыми примерами), которая генерирует компьютерные программы? Я ввожу и он создает программу, которая перечисляет простые числа меньше 10. P r i m e ( x ) просто определяется как 1 < x ∧ ∄ Aпг я м...

16
Противоречит ли Y комбинатор соответствию Карри-Ховарду?

Y комбинатор имеет тип . Согласно соответствию Карри-Говарда, поскольку тип является обитаемым, он должен соответствовать истинной теореме. Однако всегда истинно, поэтому кажется, что тип Y-комбинатора соответствует теореме , что не всегда верно. Как это может быть?( a → a ) → a(a→a)→a(a...

15
Вывод типа с типами продукта

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

14
Могу ли я иметь «зависимый тип копродукта»?

Я читаю книгу HoTT, и у меня есть (возможно, очень наивный) вопрос о материалах в первой главе. В этой главе вводится тип функции f:A→Bf:A→B f:A\to B а затем обобщается ее зависимость от и это называется типом зависимой функции .BBBx:Ax:Ax:A B:A→U,g:∏x:AB(x)B:A→U,g:∏x:AB(x)B:A\to\mathcal{U},\qquad...

14
Почему алгоритм Хиндли-Милнера никогда не даст такой тип, как t1 -> t2?

Я читал об алгоритме типизации Хиндли-Милнере при написании реализации, и видят , что, до тех пор , как каждый переменная связана, вы всегда будете получать либо атомарные тип или типов , где аргументы будут определять окончательный тип, например, t1 -> t1или (t1 -> t2) -> (t1 -> t2)где...

14
Какие языки исследований имеют более сильную систему типов, чем Haskell и почему?

Здесь я прочитал это: У Haskell определенно нет самой продвинутой системы типов (даже близко, если считать языки исследований), но из всех языков, которые фактически используются в производстве, Haskell, вероятно, находится на вершине. Поэтому я прошу две вещи: какие языки исследований имеют более...

14
Производная графа связана со списками смежности?

Некоторые из работ Конора МакБрайда, Diff , Dissect , связывают производную типов данных с их «типом контекстов с одной дырой». То есть, если вы берете производную от типа, который у вас остался, с типом данных, который показывает вам, как тип данных выглядит изнутри в любой заданной точке. Так,...

13
Что мы получаем, имея «зависимые типы»?

Я думал, что правильно понял зависимую типизацию (DT), но ответ на этот вопрос: /cstheory/30651/why-was-there-a-need-for-martin-l%C3% Теория типа «создать творческий интуиционизм» заставила меня думать иначе. После прочтения DT и попыток понять, что они из себя представляют, я пытаюсь задаться...

13
Справочный запрос: теория категорий в применении к системам типов

Я продолжаю слышать о том, как нужно изучать теорию категорий, чтобы действительно понять теорию языка программирования. До сих пор я выучил много PL, даже не ступая в царство категорий. Тем не менее, я подумал, что пришло время сделать прыжок, чтобы увидеть, что я пропустил. К сожалению, ни один...

12
Что означает ведущий оператор турникета?

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

12
Почему мы больше не исследуем гарантии времени компиляции?

Мне нравится все, что происходит во время компиляции, и мне нравится идея, что, как только вы скомпилируете программу, вы получите много гарантий относительно ее выполнения. Вообще говоря, статическая система типов (Haskell, C ++, ...), похоже, дает более сильные гарантии во время компиляции, чем...

12
Есть ли какой-либо вариант использования для нижнего типа в качестве типа параметра функции?

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

12
Связь между расселевской теорией типов и системами типов

Недавно я понял, что существует некоторая связь между теорией Расселла и системами типов, как, например, в Haskell. На самом деле, некоторые из обозначений типов в Хаскеле, похоже, имеют предшественники в теории типов. Но, IMHO, мотивация Рассела в 1908 году состояла в том, чтобы избежать парадокса...

11
Что такое индукция-индукция?

Что такое индукция-индукция ? Ресурсы, которые я нашел: книга HoTT , в конце главы 5.7. статья nLab статья под названием индуктивно-индуктивные определения этот блог также упоминает индуктивно-индуктивные типы Первые две ссылки слишком кратки для меня, а последние две слишком технические....

11
Вывод типа на основе ограничений с алгебраическими данными

Я работаю над языком выражения, основанным на генеалогии ML, поэтому, естественно, требуется вывод типа> :) Теперь я пытаюсь расширить решение на основе ограничений для определения типов, основанное на простой реализации в EOPL (Фридман и Ванд), но они элегантно обходят алгебраические типы...

11
Краткий пример экспоненциальной стоимости вывода типа ML

Мне стало известно, что стоимость вывода типа в функциональном языке, таком как OCaml, может быть очень высокой. Утверждение состоит в том, что существует последовательность выражений, такая, что для каждого выражения длина соответствующего типа экспоненциально зависит от длины выражения. Я...

11
Универсальная / экзистенциальная количественная оценка?

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

11
Вселенные в теории зависимых типов

Я читаю о теории зависимых типов в онлайн-книге « Теория гомотопических типов» . В разделе 1.3 главы « Теория типов» вводится понятие иерархии вселенных : , гдеU0:U1:U2:⋯U0:U1:U2:⋯\mathcal{U}_0 : \mathcal{U}_1 : \mathcal{U}_2 : \cdots каждая вселенная является элементом следующей вселенной . Более...

11
Сведение продуктов в HoTT к кодировкам церкви / Скотта

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

11
Что такое

Я смотрю на исчисление конструкций и его место в лямбда-кубе . Если я правильно понимаю, каждая ось куба может рассматриваться как добавление еще одной операции, связанной с типами, к простому типу исчисления, λ→λ→\lambda_\to . Первая ось добавляет операторы типа к термину, вторые операторы типа к...