Korrutistüüp

Programmeerimiskeeltes ja tüübiteoorias on tüüpide korrutamise tulemuseks uus struktuurne tüüp. Sellise korrutustehte muutujad on tüübid ning korrutistüübi struktuuri määrab ära muutujate järjekord tehtes. Instants korrutistüübist säilitab tüüpide järjekorra, aga võib muidu sisaldada kõiki võimalikke väärtusi tüüpidest, millest ta koosneb. Korrutistüübi instantsi avaldis on ennik ning sellise avaldise tüüp on "enniku tüüpi" (ingl. tuple type). Tüüpide korrutis on kahe või enama tüübi otsekorrutis. Ühiktüüp on mitte ühegi tüübiga hulga korrutis.

Programmeerimiskeeltes on levinud kahte sorti korrutistüüpe:

 Ennik (ingl. tuple) – nimetute komponentidega.
 Kirje (ingl. record või struct) – nimega komponentidega.
Ühe konstruktoriga algebraline andmetüüp on isomorfne korrutistüübiga. Curry-Howardi vastavuse järgi vastavad korrutistüübid loogikas konjunktsiooniga. Korrutistüüpidel on vastavussuhe summatüüpidega.

 Programmeerimiskeeltes 
Paljudel funktsionaalsetel programmeerimiskeeltel on algeline mõiste korrutistüübist. Näiteks korrutis tüübile tüüp1, ..., tüüpn kirjutatakse type1*...*typen ML keeles ja (type1,...,typen) Haskellis. Tärni * kasutatakse ML-i keeltes viitamaks sellele, et tegemist on korrutustehtega.

Imperatiivsete keelte hulgas on ennikud sisseehitatud näiteks Pythoni keelde, kus neil on Haskelliga sarnane vorm:ennik = (42, "Tere Maailm", True, None)Kirjed on saadaval paljudes programmeerimiskeeltes. Näiteks võib C++is olla lihtne kirjetüüp selline:struct isik {
    int id;
    int vanus;
    std::string nimi;
};

 Viited 

 Välislingid 


Kategooria:Andmetüübid
Kategooria:Informaatika