Кіріспе

SISAL (Streams and Iteration in a Single Assignment Language) – қатаң семантикасы, жасырын параллелизм және тиімді массивтерді өңдеуге мүмкіндік беретін, жалпы мақсаттағы бір тапсырмалы функционалдық бағдарламалау тілі. SISAL аралық форма 1 (IF1) түрінде дерек ағыны графигін шығарады. Ол VAL-дан (Джек Деннис жасаған құндылыққа бағытталған алгоритмдік тіл) туындаған және рекурсия мен шекті ағындарды қосады. Оның синтаксисі Паскальге ұқсас, және ол әртүрлі көппроцессорлық жүйелердегі сандық бағдарламалар үшін жалпы қолданылатын жоғары деңгейдегі тіл ретінде әзірленген.

Тарих

SISAL тілі 1983 жылы Джеймс МакГроу және тағы басқалар Манчестер университетінде, LLNL, Колорадо штаты университетінде және DEC мекемесінде анықталды. Ол 1985 жылы жаңартылып, алғашқы компиляцияланған нұсқасы 1986 жылы жасалды. Кейбір дереккөздерде оның өнімділігі C тілінен жоғары, ал Fortran тілімен шайқасады делінеді, сонымен қатар тиімді және автоматты параллельдеу мүмкіндігі бар. SISAL атауы Unix сөздігі /usr/dict/words-тен "Single Assignment Language" ("Бір реттік тапсыру тілі") деген сөзден "sal" деген сөзді іздеу арқылы пайда болды. Cray X MP, Y MP, 2, Sequent, Encore Alliant, DEC VAX 11/784, деректер ағыны архитектуралары, KSR1, Transputers және систоликалық тізбектер үшін нұсқалары бар.

Сәулет

Ұсақ түйірлі параллелизм тіліне қойылатын талаптар жүйелік тілге қарағанда деректер ағыны тілімен жақсырақ қанағаттандырылады. SISAL – деректер ағыны және ұсақ түйірлі тіл ғана емес, ол адам оқи алатын мәтіндік деректер ағыны тілін график түріне (IF1 – аралық форма 1 деп аталатын) түрлендіретін құралдар жиынтығы. SISAL жобасының бір бөлігі осы график түрін орындалатын C кодына түрлендіруді де қамтыды. 2018 жылы SISAL IS жобасы шеңберінде SISAL реттік синтаксис, бірінші дәрежелі функциялар, лямбдалар, жабылулар және жалқау семантикасымен жаңартылды.