TGViewer
Лаборатория Математики и Программирования Сергея Бобровского Лаборатория Математики и Программирования Сергея Бобровского @lambda_brain · 1.41K subscribers
Post #760 809
Недостаток подходов к интерфейсам (продолжение) даже в функциональных языках в том, что в них вы раскрываете детали реализации для вызывающей стороны. Они основаны на т.н. универсально-квантифицированных типах, как в Haskell (они описывают вещи, которые работают одинаково для любого типа), тогда как нам нужны экзистенциально-квантифицированные типы (работают одинаково только с определёнными, но заранее неизвестными типами) -- это и есть синоним сокрытия информации.

Как получить экзистенциальные типы? В Haskell это может выглядеть как запихивание экземпляра тайп-класса внутрь обобщённого алгебраического типа (GADT) -- его конструктор может возвращать связанные значения не своего типа. Но всё равно даже в Haskell это не работает для бинарных функций: я не смогу гарантировать, что две структуры данных одного типа при пересечении в программе используют, например, одну и ту же [реализацию] библиотеку мемоизации (они ведь могут использовать разные глобальные состояния, хотя им нужно использовать одно и то же).

Тут полезно вспомнить теорему Рейнольдса об абстракции... Проблема с классами типов -- это вывод типов и глобальный контекст, который обычно в высшей степени антимодулен. Классы типов никогда не смогут стать заменой модулям. Всё, что заставляет их работать таким образом, сильно ошибочно.

На этом тема интерфейсов закрыта, подробный материал в СильныхИдеях.
  • ✍ 6
  • 👍 1
  • 👏 1
More from @lambda_brain
  1. Oct 15, 2026И вот куда же в этом десятилетии придёт айтишка с эйайкой?? Ладно, спалю базу. Вот о чём т…
  2. Oct 15, 2026Уничтожаем всю мировую AI-индустрию и бизнес на цодах-шмодах одним сетапом. Старенький сис…
  3. Oct 15, 2026Вот идеальный формат собеседования в айтишке: в течение часа наблюдайте за тем, как кто-то…
  4. Oct 15, 2026Каждый месяц мой рабочий процесс разработки с использованием AI полностью заменяется совсе…
  5. Oct 14, 2026Этот отчёт ментата заслуживает быть приведённым полностью => Итоги. Часов 8 "одним подходо…
  6. Oct 14, 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 →