Кіріспе

Құрама дерек типі

Компьютерлік бағдарламалауда, әсіресе функционалдық бағдарламалауда және типтер теориясында, алгебралық дерек типі (АДТ) – бұл құрама типтің бір түрі, яғни басқа типтерді біріктіру арқылы құрастырылған тип. Алгебралық типтердің екі негізгі классы – көбейту типтері (яғни, топтамалар және жазбалар) және қосынды типтері (яғни, белгіленген немесе оқшауланған біріктірулер, копродукт типтері немесе вариант типтері). Көбейту типінің мәндері әдетте бірнеше мәндерден тұрады, олар өрістер деп аталады. Осы типтегі барлық мәндер өріс типтерінің бірдей комбинациясына ие. Көбейту типінің барлық мүмкін мәндерінің жиынтығы – оның өріс типтерінің барлық мүмкін мәндерінің теориялық жиынтығы, яғни Декарт көбейтіндісі. Қосынды типінің мәндері әдетте бірнеше классқа топтастырылады, оларды варианттар деп атайды. Вариант типінің мәні әдетте конструктор деп аталатын квазифункционалдық элемент арқылы құрылады. Әр варианттың өзіне тән конструкторы бар, ол белгілі бір типтегі аргументтердің белгілі бір санын қабылдайды. Қосынды типінің барлық мүмкін мәндерінің жиынтығы – оның варианттарының барлық мүмкін мәндерінің теориялық жиынтығы, яғни, оқшауланған біріктіру. Сандалған типтер – конструкторлар аргументтер қабылдамайтын қосынды типтерінің ерекше жағдайы, себебі әрбір конструктор үшін дәл бір мән анықталады. Алгебралық типтердің мәндері үлгіге сәйкес талдау арқылы талданады, ол мәнді оның конструкторы немесе өріс атауы бойынша анықтайды және ондағы деректерді шығарады.

Тарих

Алгебралық деректер түрлері 1970 жылдары Эдинбург университетінде жасалған, Хоуп деп аталатын кішкентай функционалдық бағдарламалау тілінде пайда болды.