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

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

1
Каковы практические проблемы с типами пересечения и объединения?
Я разрабатываю простой статически типизированный функциональный язык программирования для обучения. Похоже, что система типов, которую я реализовал до сих пор, могла (с небольшой дополнительной работой) включать типы пересечений и объединений, например, вы могли бы иметь: <Union String Integer> <Union Integer Foo> Пересечение двух типов выше было бы простым Integer Союз …

3
Что на самом деле должно быть доказательством правильности проверки типов?
Я программирую уже несколько лет, но очень незнаком с теоретической CS. Недавно я пытался изучать языки программирования и, как часть этого, проверку типов и вывод. Мой вопрос заключается в том, что если я пытаюсь написать программу для вывода и проверки типов для языка программирования, и я хочу доказать, что мой …

2
Полиморфизм высшего ранга над неупакованными типами
У меня есть язык, на котором типы распакованы по умолчанию, с выводом типов на основе Хиндли-Милнера. Я хотел бы добавить полиморфизм более высокого ранга, в основном для работы с экзистенциальными типами. Я думаю, что понимаю, как проверить эти типы, но я не уверен, что делать при компиляции. В настоящее время …

2
Подтипы как подмножества типов данных SML
Одна из немногих вещей, которые мне не нравятся в книге Окасаки о чисто функциональных структурах данных, заключается в том, что его код полон неисчерпаемого сопоставления с образцом. В качестве примера я приведу его реализацию очередей в реальном времени (рефакторинг для устранения ненужных приостановок): infixr 5 ::: datatype 'a stream = …

3
Вывод типа для императивных операторов, отличных от присваивания
В поисках исследовательских работ о системах типов для императивных языков я нахожу решения только для языка с изменяемыми ссылками, но без подлинных императивных структур управления, таких как составные операторы, циклы или условные выражения. Поэтому не ясно, как можно реализовать императивный язык с частичным выводом типа, например http://rust-lang.org . В статьях …

2
Разрешимость вывода типов и проверки типов в MLTT
В « Интуиционистской теории типов: предиктивная часть» Мартина-Лёфа доказано, что проверка типов:a:Aa \colon Aразрешимо при условииaaaбудучи в первую очередь типизируемым , доказывая теорему нормализации для замкнутых типизируемых членов. С другой стороны, я видел, что во многих местах (Википедия, Нордстрем и т. Д.) Написано, что проверка типов в (интенсиональном) MLTT разрешима; …

1
Простое доказательство того, что разрешимость типизируемости в системе F (
Предположим, что нам не известен результат Джо Б. Уэллса от 1994 года о том, что в System F (AKA неразрешимы и типизация, и проверка типов) λ2λ2\lambda 2). В лямбда-исчислении Барендрегта с типами (1992) я нашел доказательство Малецки 1989 года, что проверка типов подразумевает типизацию. Это потому что существует σσ\sigma такой, …

2
Исследования по выводу типа вызовов?
Я пытаюсь узнать больше о проверке типов в целых программах и системах вывода типов, которые используют информацию с сайтов вызова функций для вычисления информации о типах (в дополнение к стандартному подходу использования тела функции). Например, такой алгоритм может использовать вызов функции, например, foo(1)чтобы сделать вывод, что функция fooпринимает целочисленные аргументы. …

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

1
В Системе F à la Church, можем ли мы автоматизировать вывод типов для полного исключения?
Вопрос в следующем. Обычно, когда у кого-то есть термин, такой как , мы можем исключить результат, применив этот термин к типу, например, .Λ X, TΛX.t\Lambda X.t( Λ X, т ) [ Т] → т [ X: = T](ΛX.t)[T]→t[X:=T](\Lambda X.t)[T]\to t[X:=T] Теперь предположим, что это стрелка, и мы хотим дать ей …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.