LINUX.ORG.RU

История изменений

Исправление monk, (текущая версия) :

когда зависимости точно определены, то модулей вполне достаточно

Фактически, есть 5 уровней:

1) Типы известны. Используются только модули

2) Типы зависят от внешних условий (например, UI может быть text или gtk) — юниты.

3) В одной коллекции объекты разных типов, но с одинаковым API — классы (racket/class)

4) Взаимодействие нескольких коллекций с объектами разных типов. Функция определяется типами нескольких аргументов — CLOS и аналоги.

5) API объектов может меняться после создания объекта — объекты на прототипах (как в JS).

Начиная с п. 3 появляются дополнительные расходы на каждый вызов метода. С увеличением пункта эти расходы растут.

Исходная версия monk, :

когда зависимости точно определены, то модулей вполне достаточно

Фактически, есть 4 уровня:

1) Типы известны. Используются только модули

2) Типы зависят от внешних условий (например, UI может быть text или gtk) — юниты.

3) В одной коллекции объекты разных типов, но с одинаковым API — классы (racket/class)

4) Взаимодействие нескольких коллекций с объектами разных типов. Функция определяется типами нескольких аргументов — CLOS и аналоги.

5) API объектов может меняться после создания объекта — объекты на прототипах (как в JS).

Начиная с п. 3 появляются дополнительные расходы на каждый вызов метода. С увеличением пункта эти расходы растут.