Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

The Best Refactoring You’ve Never Heard Of

Автор: Compose Conference

Загружено: 2019-06-25

Просмотров: 16375

Описание:

Compose NYC 2019
Speaker: James Koppel

Every problem can be solved by many designs. Often the relation between two designs is that one is a transformation of another. When we understand how to mechanically transform designs, we can more easily explore the design space, and effortlessly identify the tradeoffs.

So, what do these design changes have in common?

Letting a search procedure take an arbitrary filter function, instead of a fixed set of options
Changing a program using blocking I/O to non-blocking I/O with an event loop
Letting a user stop in the middle of an action — and resume it after a server reboot

Answer: They’re all instances of a transformation called “defunctionalization” or its inverse, “refunctionalization.” Come learn how it works, and learn to recognize when a proposed design change is just an instance of this general technique. In doing so, you’ll learn how the tradeoffs between designs can be boiled down into a single slogan: refunctionalized is more open, defunctionalized is more inspectable. As a plus, you’ll also learn how defunctionalization is the oldest technique to compile functional languages.

The Best Refactoring You’ve Never Heard Of

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Fast Accumulation on Streams

Fast Accumulation on Streams

Bidirectional Type Checking

Bidirectional Type Checking

Я ненавижу длинные цепочки If-Elif: этот шаблон проектирования решил эту проблему раз и навсегда

Я ненавижу длинные цепочки If-Elif: этот шаблон проектирования решил эту проблему раз и навсегда

Что нового в C# 14

Что нового в C# 14

Bartosz Milewski – Replacing functions with data

Bartosz Milewski – Replacing functions with data

A Tase Of ATS

A Tase Of ATS

This one’s important - Refactoring to Functional Kotlin

This one’s important - Refactoring to Functional Kotlin

Phylogenetic Software in Haskell

Phylogenetic Software in Haskell

Teaching the intersection of mathematics and functional programming

Teaching the intersection of mathematics and functional programming

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья

Принц Персии: разбираем код гениальной игры, вытирая слезы счастья

BODYBUILDERS VS CLEANER  | Anatoly GYM PRANK #56

BODYBUILDERS VS CLEANER | Anatoly GYM PRANK #56

Программирование с использованием математики | Лямбда-исчисление

Программирование с использованием математики | Лямбда-исчисление

[PLDI'23] Better Defunctionalization through Lambda Set Specialization

[PLDI'23] Better Defunctionalization through Lambda Set Specialization

Yes, IHaskell Can Do That!

Yes, IHaskell Can Do That!

Как взломать любое программное обеспечение

Как взломать любое программное обеспечение

Making Algorithmic Music

Making Algorithmic Music

CppCon 2014: Mike Acton

CppCon 2014: Mike Acton "Data-Oriented Design and C++"

George Wilson  - An Intuition for Propagators  - Compose Melbourne 2019

George Wilson - An Intuition for Propagators - Compose Melbourne 2019

КАК НЕЛЬЗЯ ХРАНИТЬ ПАРОЛИ (и как нужно) за 11 минут

КАК НЕЛЬЗЯ ХРАНИТЬ ПАРОЛИ (и как нужно) за 11 минут

Stuck macros: deterministically interleaving macro-expansion and typechecking

Stuck macros: deterministically interleaving macro-expansion and typechecking

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]