Size: a a a

Compiler Development

2021 April 29

s

suhr in Compiler Development
Для них нужны higher inductive types.
источник

EL

Evgeny Link in Compiler Development
Спасибо!
источник

EL

Evgeny Link in Compiler Development
источник

s

suhr in Compiler Development
На самом деле, проблемы уже начинаются при попытке выразить целые числа как индуктивный тип.
источник

AG

Alex Gryzlov in Compiler Development
функция это базовый тип коданных, т.е. потребителей, список это базовый тип полиморфных индуктивных данных, т.е. производителей
источник

AG

Alex Gryzlov in Compiler Development
в идеале вам нужны в системе и потребители, и производители, чтобы запустить вычисление
источник

AG

Alex Gryzlov in Compiler Development
либо в явном виде, либо вшитые
источник

AG

Alex Gryzlov in Compiler Development
в этом изящество теории типов - там в основу кладется принцип что для каждого типа есть канонический набор производителей и потребителей
источник

EL

Evgeny Link in Compiler Development
Сахар с сигмой это в агде?
источник

AG

Alex Gryzlov in Compiler Development
на такой "фундаментальный набор" претендуют гомотопические теории типов
источник

s

suhr in Compiler Development
источник

AG

Alex Gryzlov in Compiler Development
источник

s

suhr in Compiler Development
Вот, кстати, подробнее про целые числа.
источник

AG

Alex Gryzlov in Compiler Development
ну на практике проблемы с целыми числами не такие уже большие, настоящие проблемы начинаются при работе с конструкциями, требующими постоянной перенормализации, например рациональными числами :)
источник

s

suhr in Compiler Development
Ну целые числа это самое введение в боль, когда же рациональные это уже продвинутый уровень.
источник

B

Brenoritvrezorkre in Compiler Development
What

Вообще-то пишется так:

Qx:P(x)

либо

Qx.P(x)

либо

Qx(P(x))

где Q — это некоторый квантор

в простейшем случае (буквально как выше) можно опустить '(x)'
источник

B

Brenoritvrezorkre in Compiler Development
Вот здесь всё плохо с нотацией, так не пишут
источник

B

Brenoritvrezorkre in Compiler Development
Вот так пишут
источник

EL

Evgeny Link in Compiler Development
ага, только у тебя в нотации нет места для условия (их может быть и несколько)
источник

B

Brenoritvrezorkre in Compiler Development
Там, где не важна последовательность кванторов, можно записать так: Q¹x, Q²x, ...
источник