Size: a a a

Типы в языках программирования, моделирования, представления знаний и жизни

2021 November 14

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
А так да
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
И ещё она делает тяжёлое деление при каждом чтении
источник

goldstein опять in Типы в языках программирования, моделирования, представления знаний и жизни
почему сразу UB
питоновский list.get определён всегда, например, независимо от того, есть ли в массиве нужный индекс
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
None
источник

goldstein опять in Типы в языках программирования, моделирования, представления знаний и жизни
None это не UB
источник

s

suhr in Типы в языках программирования, моделирования, представления знаний и жизни
Ну если ты пытаешься индексировать так в C, то да, уб.
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
Это хуже, да
источник

goldstein опять in Типы в языках программирования, моделирования, представления знаний и жизни
это вполне well-defined behaviour, .get() возвращает Optional[T]
источник

s

suhr in Типы в языках программирования, моделирования, представления знаний и жизни
Ну так не надо на С писать.
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Да, именно программ. Для языков в целом доказывают метатеоремы типа type soundness.
источник

goldstein опять in Типы в языках программирования, моделирования, представления знаний и жизни
Pony умеет отличать программы, в которых нет* дедлоков

*там всё не очень гладко с этим утверждением
источник

goldstein опять in Типы в языках программирования, моделирования, представления знаний и жизни
ZZ умеет отличать программы, в которых нет UB с точки зрения семантики C
источник

KR

K R in Типы в языках программирования, моделирования, представления знаний и жизни
SFINAE - это точно кривой, неполный и не чистый term rewriting. 😉

Болгары очень любили рассуждать про template metaprogramming, и написали пару компиляторов с чистых функциональных языков в meta-C++.
Один из этих языков - eClean (подмножество Clean, увы - было бы крайне занятно посмотреть на реализацию unique типов, но про неё они упомянули лишь вскользь).

А ещё есть компилятор почти Хаскеля 98 в meta-C++ - MetaFun.

https://gergo.erdi.hu/projects/metafun/
источник

ДК

Дим К in Типы в языках программирования, моделирования, представления знаний и жизни
У вас не будет дедлоков, если не будет локов.
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
Да, STM например является lock-free
источник

ДК

Дим К in Типы в языках программирования, моделирования, представления знаний и жизни
Но не wait-free, а значит может быть ливлок.
источник

А⚙

Антон ⚙️ in Типы в языках программирования, моделирования, представления знаний и жизни
Я не понимаю тут семантику оператора, заданного вертикальной чертой
источник

s

suhr in Типы в языках программирования, моделирования, представления знаний и жизни
Модуль же.
источник

s

suhr in Типы в языках программирования, моделирования, представления знаний и жизни
2|↕5
⟨ 0 1 0 1 0 ⟩
источник

А⚙

Антон ⚙️ in Типы в языках программирования, моделирования, представления знаний и жизни
Ох. И что, эту идиому действительно используют?
источник