Size: a a a

Compiler Development

2021 March 26

s

suhr in Compiler Development
У них же уже ПТСР от слов вроде «функтор» или «монада»!
источник

МБ

Михаил Бахтерев... in Compiler Development
Ну... Считается, что слушатель знаком с понятием предпучок. И не только из ТК, кстати. Страшно не будет, если объяснить.

И что? Куча математиков ничего не знают о функторах и монадах.
источник

s

suhr in Compiler Development
Михаил Бахтерев
Ну... Считается, что слушатель знаком с понятием предпучок. И не только из ТК, кстати. Страшно не будет, если объяснить.

И что? Куча математиков ничего не знают о функторах и монадах.
Слово предпучок не просто так содержит в себе слово пучок.
источник

МБ

Михаил Бахтерев... in Compiler Development
suhr
Слово предпучок не просто так содержит в себе слово пучок.
И? Думаете, все без исключения математики в курсе?
источник

s

suhr in Compiler Development
При этом никто не переименовывает предпучки, чтобы люди, незнакомые с понятием пучка, чувствовали себя увереннее.
источник

МБ

Михаил Бахтерев... in Compiler Development
suhr
При этом никто не переименовывает предпучки, чтобы люди, незнакомые с понятием пучка, чувствовали себя увереннее.
Эмс... Переименовывают. Точнее, называют иначе.
источник

s

suhr in Compiler Development
Михаил Бахтерев
Эмс... Переименовывают. Точнее, называют иначе.
Ммм, примеры? Всюду я видел только presheaf.
источник

s

suhr in Compiler Development
Есть вещи, которые в математике называются по разному (те хе монады, например), но вроде как предпучок это не одна из них.
источник

МБ

Михаил Бахтерев... in Compiler Development
Пучки обобщают кучу предыдущих понятий. И многие математики предпочтут работать с дифференцируемыми векторными полями, а не с пучками.
источник

МБ

Михаил Бахтерев... in Compiler Development
Сама по себе теория пучков, конечно, интересна, но не всегда релевантна предметной области. И в этой области, наверняка, какой-нибудь пучок накостылят и назовут специально. 🤷‍♂ Обязаны ли люди обязательно видеть в своей конструкции пучок? Как программисты в своих кванторы? Если без этого работает - ну, разве, плохо?
источник

s

suhr in Compiler Development
Частные случаи это всё-таки не то же самое, что синонимы.
источник

МБ

Михаил Бахтерев... in Compiler Development
Ну... Да. Но в языках частные случаи тоже, ведь. Кванторы там далеки от общих понятий.
источник

AT

Alexander Tchitchigi... in Compiler Development
Михаил Бахтерев
Сама по себе теория пучков, конечно, интересна, но не всегда релевантна предметной области. И в этой области, наверняка, какой-нибудь пучок накостылят и назовут специально. 🤷‍♂ Обязаны ли люди обязательно видеть в своей конструкции пучок? Как программисты в своих кванторы? Если без этого работает - ну, разве, плохо?
Напомню контекст. В Ada завезли (потырили из Eiffel?) конструкции типа for all x of some_set => foo(x). for all они там нифига не переизобрели, а взяли прямо из исчисления предикатов первого порядка, как Вы понимаете.
источник

МБ

Михаил Бахтерев... in Compiler Development
Alexander Tchitchigin
Напомню контекст. В Ada завезли (потырили из Eiffel?) конструкции типа for all x of some_set => foo(x). for all они там нифига не переизобрели, а взяли прямо из исчисления предикатов первого порядка, как Вы понимаете.
Ага, я нашёл. Авторы Ada 2012, конечно, утверждают, что это кванторы. Но по смыслу, всё же, это просто циклы. Скорее уж оригинал вводит пользователя в заблуждение. Если следовать оригиналу, надо квантифицировать. Но я бы сделал замечание, что это не настоящая квантифокация.
источник

МР

Максим Резник... in Compiler Development
Михаил Бахтерев
Ага, я нашёл. Авторы Ada 2012, конечно, утверждают, что это кванторы. Но по смыслу, всё же, это просто циклы. Скорее уж оригинал вводит пользователя в заблуждение. Если следовать оригиналу, надо квантифицировать. Но я бы сделал замечание, что это не настоящая квантифокация.
А почему она не настоящая? Как выглядит настоящая?
источник

МР

Максим Резник... in Compiler Development
@true_grue Можете посмотреть как будет время: https://github.com/true-grue/Compiler-Development/pull/9
источник

PS

Peter Sovietov in Compiler Development
Спасибо, уже видел, доберусь до компьютера — поправлю!
источник

МБ

Михаил Бахтерев... in Compiler Development
Максим Резник
А почему она не настоящая? Как выглядит настоящая?
Ну, как в ЯП с зависимыми типами. Или как в illative lambda calculus. Последнее плохо изучено.

В завтипах - это зависимое произведение: forall x:A. P(x) -  это такой тип, а не runtime конструкция. И зависимая пара: exists x:A. P(x) - тоже тип.

Первое - тип функции. Второе - тип пары значений.

Ну, то есть, это не циклы, как в Ada.
источник

AT

Alexander Tchitchigi... in Compiler Development
Михаил Бахтерев
Ну, как в ЯП с зависимыми типами. Или как в illative lambda calculus. Последнее плохо изучено.

В завтипах - это зависимое произведение: forall x:A. P(x) -  это такой тип, а не runtime конструкция. И зависимая пара: exists x:A. P(x) - тоже тип.

Первое - тип функции. Второе - тип пары значений.

Ну, то есть, это не циклы, как в Ada.
Справедливости ради, зав. типы – это higher-order logic, а Ada – first order. 🙂
источник

K

Kir in Compiler Development
Alexander Tchitchigin
Напомню контекст. В Ada завезли (потырили из Eiffel?) конструкции типа for all x of some_set => foo(x). for all они там нифига не переизобрели, а взяли прямо из исчисления предикатов первого порядка, как Вы понимаете.
Лучше б они foldMap и ленивое исполнение завезли. Или, хотя бы, all/any как HOF, а не как конструкты
источник