TGViewer
Лаборатория Математики и Программирования Сергея Бобровского Лаборатория Математики и Программирования Сергея Бобровского @lambda_brain · 1.41K subscribers
Post #2024 877
Рефакторинг -- это трансформация унаследованного (по определению) кода без изменения его функциональности.

Если посмотреть на такую трансформацию через линзу HoTT, то это будет, по сути, умение видеть (понимание) эквивалентности между различными парадигмами полиморфизма.

1. Параметрический полиморфизм -- это база универсальности.

Функция
map (f: 'a -> 'b) (list: 'a list) : 'b list
работает единообразно для любых типов a и b. Нам не нужно (да и невозможно) "заглядывать" внутрь a.

Это гомотопия (непрерывное преобразование), гомотопическая инвариантность.

Тип forall a b. (a -> b) -> List a -> List b -- это пространство всех возможных реализаций (всех функций с данным типом, и все они гомотопически эквивалентны).

Такая программа будет постоянной на эквивалентных типах: она не может делать странных вещей, зависящих от конкретного типа (для строк -- удваивать, а для чисел -- извлекать корень), из чего гарантируется её универсальность.

Параметрический полиморфизм -- это "контракт", который гарантирует, что полиморфная функция универсальна.
  • ❤ 37
  • 🤔 20
  • 👍 4
  • ❤‍🔥 1
More from @lambda_brain
  1. Oct 1, 2026Ребята спрашивают, ну ок, моё скромное мнение. у вас где-нибудь можно прочитать ваше мнени…
  2. Sep 30, 2026Ладно, вот вам база, почему так трудно переучиваться с императивного/объектного стиля коди…
  3. Sep 30, 2026Ну, с Днём Рунета! Многие годы Рунет был эталонным примером свободы, а сегодня превратился…
  4. Sep 28, 2026. Облако драгоценностей за неделю. Дипломный проект разросся уже так, что расширил его до…
  5. Sep 27, 2026GELU (Gaussian Error Linear Unit) -- базовая фича архитектуры трансформеров, да и вообще в…
  6. Sep 27, 2026Продолжение сериала "Совершенно не удивлён, и дальше будет только хуже" (с) На этой неделе…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →