Контейнер (тип теориясы) - Container (type theory)

Жылы тип теориясы, контейнерлер сияқты әр түрлі «жинау түрлеріне» мүмкіндік беретін абстракциялар тізімдер және ағаштар, біркелкі түрде ұсынылуы керек. A (унарий ) контейнер. типімен анықталады пішіндер S және типті отбасы позициялар С., индекстелген P кеңейту контейнер - бұл формадан (S типті) және осы пішіндегі позициялардан элемент түріне дейінгі функциялардан тұратын тәуелді жұптар отбасы. Контейнерлерді келесі түрде көруге болады канондық формалар жинау түрлері үшін.[1]

Тізімдер үшін пішін түрі болып табылады натурал сандар (нөлді қосқанда). Сәйкес позиция типтері дегеніміз - әр фигура үшін пішіннен кіші натурал сандардың түрлері.

Ағаштар үшін пішін түрі - бұл бірлік ағаштарының типі (яғни оларда ақпарат жоқ, жай құрылымы бар ағаштар). Сәйкес орналасу типтері түбірден формаға нақты түйіндерге дейін әр форма үшін жарамды жол түрлеріне изоморфты болып табылады.

Натурал сандар бірлік тізімдеріне изоморфты екенін ескеріңіз. Жалпы, пішін түрі бірлікке қолданылатын түпнұсқалық емес контейнер типіне (тізім, ағаш т.б.) изоморфты болады.

Контейнерлер ұғымын енгізудің негізгі мотивтерінің бірі - қолдау жалпы бағдарламалау ішінде тәуелді түрде терілген параметр.[1]

Категориялық аспектілер

Контейнердің кеңеюі - бұл эндофунктор. Бұл функцияны қажет етеді ж дейін

Бұл танысқа пара-пар карта g тізімдер болған жағдайда және басқа контейнерлерге ұқсас нәрсе жасайды.

Индекстелген контейнерлер

Индекстелген контейнерлер (сонымен бірге тәуелді көпмүшелік функционалдар) - бұл контейнерлерді жалпылау, олар векторлар (көлемді тізімдер) сияқты типтердің кең классын көрсете алады.[2]

Элемент түрі (. Деп аталады енгізу түрі) пішіні мен позициясы бойынша индекстеледі, сондықтан оның пішіні мен орналасуы, кеңеюі (. деп аталады шығыс түрі) пішіні бойынша индекстеледі.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ а б Майкл Эбботт; Торстен Альтенкирх; Нил Гани (2005). «Контейнерлер: қатаң оң түрлерін құру». Теориялық информатика. 342 (1): 3–27. дои:10.1016 / j.tcs.2005.06.002.
  2. ^ Торстен Альтенкирх, Нил Гани, Питер Хэнкок, Конор Макбрайд және Питер Моррис. «Индекстелген контейнерлер» (PDF). Жарияланбаған қолжазба. Алынған 2008-10-30. Журналға сілтеме жасау қажет | журнал = (Көмектесіңдер)CS1 maint: бірнеше есімдер: авторлар тізімі (сілтеме)

Сыртқы сілтемелер