Запитання з тегом «type-inference»

1
Що робить висновок про тип залежних типів нерозбірливим?
Я бачив, як згадувалося, що системи залежних типів не підлягають зараженню, але їх можна перевірити. Мені було цікаво, чи є просте пояснення того, чому це так, і чи існує чи не існує обмеження "залежності", де типи можна індексувати значеннями, нижче яких можливих висновків типу, а над якими - ні?

1
Назвіть найсильніші системи відомого типу, для яких умовивід визначальний?
Добре відомо, що умовивід типу Хіндлі-Мілнера (просто набраний -калькулятор з поліморфізмом) має визначальний тип висновку: ви можете реконструювати принципові типи для будь-яких програм без будь-яких анотацій.λλ\lambda Додавання класів типів Haskell схоже на збереження цього рішення, але подальше доповнення робить висновок без приміток непридатним (сімейства типів, GADT, залежні типи, типи Rank-N, …

1
Чому алгоритм Гіндлі-Мілнера ніколи не видасть такий тип, як t1 -> t2?
Я читаю про алгоритм набору тексту Хіндлі-Мілнера під час написання програми і бачу, що доки кожна змінна буде пов'язана, ви завжди отримуватимете атомні типи або типи, де аргументи визначатимуть кінцевий тип, наприклад, t1 -> t1або (t1 -> t2) -> (t1 -> t2)де t1і t2є змінними типу. Я не можу придумати …


1
Визначення типів уточнення
На роботі мені було доручено виводити інформацію про тип динамічної мови. Я переписую послідовності висловлювань у вкладені letвирази, як-от так: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

1
Короткий приклад експоненціальної вартості висновку типу ML
Мені було звернуто увагу, що вартість виведення типу у такій функціональній мові, як OCaml, може бути дуже високою. Твердження полягає в тому, що існує послідовність виразів, така що для кожного виразу довжина відповідного типу є експоненціальною щодо довжини виразу. Я розробив послідовність нижче. Моє запитання: чи знаєте ви послідовність з …

2
Визначте список, використовуючи лише систему типу Hindley-Milner
Я працюю над невеликим компілятором обчислення лямбда, який має працюючу систему виводу типу Хіндлі-Мілнера, і тепер також підтримує рекурсивну, давайте (не у зв'язаному коді), що, на мою думку, повинно бути достатньо, щоб зробити Тьюрінг завершеним . Проблема зараз полягає в тому, що я не маю уявлення, як скласти списки його …

3
Еквівалентність аналізу потоку даних, абстрактної інтерпретації та виводу типу?
@ Відповідь Бабу на недавнє запитання нагадує мені, що свого часу я думаю, що я прочитав документ про еквівалентність (з точки зору обох фактів, які можна зробити висновками або довести, та складності часу виконання алгоритму висновку) аналізу потоків даних , абстрактна інтерпретація та тип висновку . У деяких підставах (як, …

2
Введіть умовивід + перевантаження
Я шукаю алгоритм виводу типу для мови, яку я розробляю, але не зміг знайти той, який відповідає моїм потребам, оскільки вони зазвичай є: à la Haskell, з поліморфізмом, але без особливих перевантажень à la C ++ (автоматичний), в якому у вас є спеціальне перевантаження, але функції є мономорфними Зокрема, моя …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.