Гетерогенные списки в Rust и их суперсилы. Антон Михайлов

  Рет қаралды 1,877

Видео с мероприятий {speach!

Видео с мероприятий {speach!

Күн бұрын

Одна из претензий к статически типизированным языкам часто состоит в том, что в них трудно манипулировать данными, которые являются просто некими наборами полей. Не смотря на то, что эта претензия ортогональна статичности системы типов, она часто справедлива на практике, поскольку большинство применяемых на практике языков программирования (включая Rust) имеют номинативную, а не структурную систему типов.
Данный доклад демонстрирует, как, использовав в качестве промежуточной абстракции гетерогенные списки - вещь, обычно применяемая в функциональном программировании - можно покрыть возможности, которые могли бы предоставить отсутствующие в Rust фичи: структурная типизация и вариадические дженерики.
В частности, как можно преобразовывать структуры со схожими наборами полей из одной в другую без бойлерплейта, как вынимать произвольные поля из JSON, не выписывая вручную по типу на каждую комбинацию, и как объединять вместе типы с общим обобщённым поведением так, чтобы выбирать нужный по типу требуемого результата - всё типобезопасно, без бойлерплейта, без unsafe и с нулевой стоимостью в рантайме.

Пікірлер: 1
@Brainsburn
@Brainsburn 2 жыл бұрын
Большое спасибо за видео. Но выравнивайте, плз, громкость. Заставка громкая, а голос едва слышно. Сделал громкость так, чтобы было слышно голос, после включил другое видео и чуть не оглох )
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 7 МЛН
Minecraft Creeper Family is back! #minecraft #funny #memes
00:26
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3,1 МЛН
Do you choose Inside Out 2 or The Amazing World of Gumball? 🤔
00:19
Времена жизни в Rust
19:29
Bitωise
Рет қаралды 4,3 М.
Ядерка-как это будет.
25:55
Илья Свиридов
Рет қаралды 152 М.
Python VS С# | Согласен / Не согласен
14:27
Технологии в Контуре
Рет қаралды 26 М.
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 7 МЛН