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

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

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

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

2 жыл бұрын

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

Пікірлер: 1
@Brainsburn
@Brainsburn 2 жыл бұрын
Большое спасибо за видео. Но выравнивайте, плз, громкость. Заставка громкая, а голос едва слышно. Сделал громкость так, чтобы было слышно голос, после включил другое видео и чуть не оглох )
3 wheeler new bike fitting
00:19
Ruhul Shorts
Рет қаралды 45 МЛН
Climbing to 18M Subscribers 🎉
00:32
Matt Larose
Рет қаралды 33 МЛН
TRY NOT TO LAUGH 😂
00:56
Feinxy
Рет қаралды 18 МЛН
😱 Как стать программистом с нуля? Без курсов самому.
24:43
Хауди Хо™ - Просто о мире IT!
Рет қаралды 315 М.
Николай Хитров. Архитектура кнута и пряника
46:02
Видео с мероприятий {speach!
Рет қаралды 1,8 М.
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
Rust: Shared-State Concurrency
7:06
The Dev Method
Рет қаралды 10 М.
Rich Terminal Interfaces with Ratatui
9:31
chris biscardi
Рет қаралды 30 М.
Андрей Гейн. Mojo - революция или хайп?
47:30
Видео с мероприятий {speach!
Рет қаралды 2,2 М.
Данил Губанов. Через боль с dependency-injector
50:54
Видео с мероприятий {speach!
Рет қаралды 1,1 М.
3 wheeler new bike fitting
00:19
Ruhul Shorts
Рет қаралды 45 МЛН