thedeemon: (faculty of numbers)
On Understanding Data Abstraction, Revisited
http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf

Занятный легко читаемый обзор о том, как сильно отличаются абстрактные типы данных (ML-style) от объектов (OOP-style). При выбранных определениях довольно четкая картина вырисовывается.
Показывает, в каком смысле "the typical object-oriented program makes far more use of higher-order values than many functional programs."
Рассказывает, что Reynolds еще в 70-х описывал Expression Problem задолго до того, как Вадлер ей дал название.
Показывает, как некоторые принципы, которые могли казаться фольклором / best practices, тут выходят естественными математическими следствиями. "In a pure object-oriented style, classes are only used to construct objects, and interfaces are used for types."
Становится видно естественное тяготение динамически типизированных языков к ООП.
Что значат в этом ключе autognosis и complex operations.
Тайпклассы хаскеля тоже затрагиваются.

Ничего особого нового, но приводит мысли в порядок. Особенно, если свой язык дизайнить собираешься.
thedeemon: (Default)
В книжке Аппеля про компиляторы на ML каждая глава начинается со словарного определения ключевого слова. Первые 13 были обычными, а 14-е порвало.

Profile

thedeemon: (Default)
Dmitry Popov

July 2025

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
27282930 31  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 7th, 2025 09:41 am
Powered by Dreamwidth Studios